ruby-on-rails – 独立ruby – 如何从database.yml加载不同的环境

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 独立ruby – 如何从database.yml加载不同的环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个后台进程修改数据库中的记录.这些模型使用如下方式连接到数据库
dbconfig = YAML::load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(dbconfig["development"])
class Clcar < ActiveRecord::Base
 ....
end

所有模型类都在顶部有这些线.

我同意这是一个糟糕的做法.

有没有更好的方法来获得一个模型类的连接?如何将连接传递给模型?
>我想能够用不同的环境运行我的后台进程,比如说“生产”.

我该如何实现?

解决方法

我将在后台进程开始时设置一次连接.一旦建立连接一次,所有的模型将正常工作.

您的连接建立代码将如下所示:

@environment = ENV['RACK_ENV'] || 'development'
@dbconfig = YAML.load(File.read('config/database.yml'))
ActiveRecord::Base.establish_connection @dbconfig[@environment]

猜你在找的Ruby相关文章