class Service < ActiveRecord::Base
establish_connection(
:adapter => "mysql",
:host => "myip",
:username => "myusername",
:password => "mypassword",
:database => "mydatabase"
)
end
这有效
Service.all #connects to mydatabase
但我需要这样的东西。
Service.use(mydatabase1).all #connects to mydatabase1
Service.use(mydatabase2).all #connects to mydatabase2
我怎样才能实现这个目标?
数据库名称是动态的。我希望Service模型动态连接数据库。
当我输入Service.use(weeweweaszxc).all
时,必须使用weeweweaszxc数据库。
答案 0 :(得分:3)
试着看看这个问题。 How to best handle per-Model database connections with ActiveRecord?
他们像正常一样在database.yml文件中定义数据库,并在模型中调用它:
class AnotherDatabase < ActiveRecord::Base
self.abstract_class = true
establish_connection "anotherbase_#{RAILS_ENV}"
end
的信息