【发布时间】:2011-12-19 13:45:35
【问题描述】:
我的环境: Ruby 1.9.2p290、Rails 3.0.9 和 RubyGem 1.8.8
不幸的是,当我遇到多个数据库时遇到了问题。
情况是这样的:我有两个模型连接到两个不同的数据库,并且还建立了彼此之间的关联。 每个模型中指定的数据库连接,看起来像
class Visit < ActiveRecord::Base
self.establish_connection "lab"
belongs_to :patient
end
class Patient < ActiveRecord::Base
self.establish_connection "main"
has_many :visits
end
遇到以下情况时出现错误
@visits = Visit.joins(:patient)
错误:Mysql2::Error: 表 'lab.patients' 不存在:SELECT visits.* FROM visits INNER JOIN patients ON patients.id IS NULL
这里的“患者”表在“主”数据库中,“访问”表在“实验室”数据库中 我怀疑在执行代码时,Rails 是否认为“患者”表是“实验室”数据库的一部分 [其中包含“访问”表]。
【问题讨论】:
-
更多信息请见Issue #539
标签: ruby-on-rails database join