我有一个正在运行的 Rails 项目,它在 config/database.yml 中定义了标准生产:、:开发和:测试数据库连接
另外,我有一个 quiz_development: 和 quiz_product: 定义指向不同的主机/数据库/用户/密码
我现在的目标是定义一个使用“quiz_#{RAILS_ENV
}`" 作为其数据库配置。
我尝试过(但失败了):
- 在迁移文件中设置 ActiveRecord::Base.connection
- 更改 Rails 中的 db:migrate 任务以在那里设置 ActiveRecord::Base.connection
问题:
如何使 rake db:migrate 使用其他数据库定义?
谢谢,
坦率
有一个更简单的答案。将其添加到您的迁移中:
def connection
ActiveRecord::Base.establish_connection("quiz_#{Rails.env}").connection
end
这是针对 Rails 3.1 的。对于 Rails 2.X 或 3.0,它是一个类函数(例如def self.connection
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)