正如我所解释的,我想基于用户使用不同的数据库。
我有一个用devise创建的伙伴表,我创建了多个数据库,这些数据库中的每个数据库都具有相同的架构和相同的关系。
我想完成的是这样的
default: &default
adapter: mysql2
pool: 5
timeout: 5000
development:
<<: *default
database: db_ <%= current_partners%>
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db_ <%= current_partners%>
production:
<<: *default
database: db_ <%= current_partners%>
为什么我不能使用此语句?
顺便说一句,即时通讯使用mysql2,如代码片段所示。
在您的中database.yml
,只需提及默认数据库配置。每当您要在数据库之间切换时,请先调用用户定义的switch_database
方法以连接到另一个数据库,然后再命中相应的数据库。就像是:
def switch_database
establish_connection (
:adapter => "mysql2",
:host => "another_host_name",
:username => "username",
:password => "password",
:database => "db_#{current_partner}"
)
end
根据您的方便调用方法,将上述方法放在适当的文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句