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]

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...