Rails 3建立与另一个数据库的连接仅适用于一个查询

时间:2012-07-16 19:41:26

标签: database ruby-on-rails-3

我有两个数据库:一个名为db1,另一个名为db2。我有两个模型SchoolSchoolProd。我希望SchoolProd连接到db2,但也要识别"学校"作为其关联表。我通过

来实现这一目标
establish_connection :db2
set_table_name 'schools'

当我运行rails控制台并询问SchoolProd.all时,它会向我提供db2中schools表中的所有对象,但当我再次尝试SchoolProd.all时,它会向我提供来自学校的所有对象db1中的表,而不是db2。为什么会这样?我做的第一个查询表现如预期,但其余的在db1中完成。感谢

1 个答案:

答案 0 :(得分:0)

好的,我发现了为什么我收到此错误。事实证明我的Gemfile中有ar-octopus个宝石。此gem在ActiveRecord中提供数据库分片。我决定不使用它,但忘了将它从我的Gemfile中删除。一旦我删除它,一切都很顺利