môi trường của tôi: của Ruby 1.9.2p290, Rails 3.0.9 và 1.8.8 RubyGemRails 3 - Nhiều cơ sở dữ liệu với điều kiện gia nhập
tiếc là tôi có một vấn đề khi đi qua nhiều cơ sở dữ liệu.
Tình huống này là: Tôi có hai mô hình kết nối với hai cơ sở dữ liệu khác nhau và cũng thiết lập mối liên hệ giữa nhau. kết nối cơ sở dữ liệu quy định cụ thể trong từng mô hình, nhìn thích
class Visit < ActiveRecord::Base
self.establish_connection "lab"
belongs_to :patient
end
class Patient < ActiveRecord::Base
self.establish_connection "main"
has_many :visits
end
tôi nhận được một thông báo lỗi khi gặp nhau sau kịch bản
@visits = Visit.joins(:patient)
Lỗi: Mysql2 :: Lỗi: Bảng 'lab.patients' không tồn tại: CHỌN visits
. * TỪ visits
INNER JOIN patients
TRÊN patients
. id
IS NULL
Bảng 'bệnh nhân' nằm trong cơ sở dữ liệu 'chính' và 'lượt truy cập' trong cơ sở dữ liệu 'lab' Tôi nghi ngờ khi thực thi mã, Rails đang xem xét bảng 'bệnh nhân' là một phần của 'lab' cơ sở dữ liệu [giữ bảng 'lượt truy cập'].
Xem [Vấn đề # 539] (https://github.com/rails/rails/issues/539) để biết thêm thông tin – cweston