使用Padrino和DataMapper访问现有数据库

时间:2012-07-11 05:52:35

标签: ruby sinatra datamapper padrino

我正在迁移我拥有的sinatra应用程序,它充当我们DNS数据库的后端UI。我已经在sinatra应用程序中获得了DM配置,但是想将它迁移到padrino,这样我就可以使它更清晰,更容易阅读,但也因为我想玩padrino。如果我只生成一个新模型,我是否可以在该模型中执行datamapper映射,包括指定db应用程序并避免使用生成器而不是使用生成器?

我需要做什么才能访问不同数据库上的模型,理想情况下不会破坏该数据库(只读)

1 个答案:

答案 0 :(得分:1)

是的,所以你实际上可以做到这一点,我发现了一些试验和错误。在config / boot.rb中指定datamapper数据库源,其中有一个标记为Padrino.after_load的部分,您需要在此处添加新的DataMapper源

DataMapper.setup(:myalternatedatasource, "MY_ALTERNATE_DB_URL

然后在您的模型文件中,您需要指定

def self.default_repository_name
    :myalternatedatasource
end

它会全部按预期工作!