在database.yml中定义了两个数据库,production
(默认)和slave
。
使用控制台执行ActiveRecord::Base.establish_connection(:slave)
然后User.count
,查询仍在production
执行。
为什么会发生这种情况以及如何在slave
上运行查询?
答案 0 :(得分:1)
在用户上添加方法以切换连接
class User < ActiveRecord::Base
def self.connect_to_slave
establish_connection :slave
end
def self.connect_to_prod
establish_connection :production
end
end