-
我试图弄清楚如何从database.yml
调用不同的数据库:
#config/database.yml
#Defaults
default: &default
adapter: mysql2
pool: 5
timeout: 5000
dev: &dev
<<: *default
username: *****
password: *****
host: ******
##########################
#Admin
development_admin:
<<: *dev
database: *******
##########################
我想将database
键设为变量,因此可以这样设置:
class Admin < ActiveRecord::Base
self.abstract_class = true
establish_connection("#{Rails.env}_admin", database: "our_db")
end
问题是发生如下错误:
我确定有办法解决这个问题 - 我有兴趣听听是否有人有办法解决这个问题?
谢谢!
答案 0 :(得分:3)
如果正确理解了问题:
con = Rails.configuration.database_configuration["#{Rails.env}_admin"]
establish_connection(con.merge('database' => 'our_db'))
或者,如果简单使用配置:
establish_connection("#{Rails.env}_admin")