我正在迁移我拥有的一个 sinatra 应用程序,它充当我们 DNS 数据库的后端 UI。我已经在 sinatra 应用程序中获得了 DM 配置,但想将其迁移到 padrino,这样我就可以使它更清洁、更易于阅读,但也因为我想玩一下 padrino。如果我只是生成一个新模型,我可以在该模型中执行数据映射器映射,包括指定 db 应用程序并摆脱这样做而不是使用生成器吗?
我需要做什么才能访问不同数据库上的模型,理想情况下不会损坏该数据库(只读)
我正在迁移我拥有的一个 sinatra 应用程序,它充当我们 DNS 数据库的后端 UI。我已经在 sinatra 应用程序中获得了 DM 配置,但想将其迁移到 padrino,这样我就可以使它更清洁、更易于阅读,但也因为我想玩一下 padrino。如果我只是生成一个新模型,我可以在该模型中执行数据映射器映射,包括指定 db 应用程序并摆脱这样做而不是使用生成器吗?
我需要做什么才能访问不同数据库上的模型,理想情况下不会损坏该数据库(只读)
对,所以你实际上可以做到这一点,我通过一些试验和错误发现。在 config/boot.rb 中指定 datamapper 数据库源,其中有一个标记为 Padrino.after_load 的部分,您需要在此处添加新的 DataMapper 源
DataMapper.setup(:myalternatedatasource, "MY_ALTERNATE_DB_URL
然后在您的模型文件中,您需要指定
def self.default_repository_name
:myalternatedatasource
end
这一切都会按预期工作!