2016-06-08 45 views
-1

我正在處理的應用程序要求我從一個模型中訪問多個數據源。我想知道完成它的最好方法是什麼。我可以做類似以下的事嗎?如何在單個Ruby on Rails模型中訪問多個數據源?

class SomeModel < ActiveRecord::Base 
    establish_connection :data_source1 
    # Get some data from data_source1 and store in a instance variable 

    establish_connection :data_source2 
    # Get some data from data_source2 and store in a instance variable 
end 

感謝您的建議。

+0

從第一次觀察來看,這似乎是一個非常糟糕的主意。 – jvillian

回答

0

@jvillian說過這是一個超級壞主意。你需要的是兩個不同的模型,每個模型都連接到它們各自的數據源,ActiveRecord在默認情況下允許使用。這個部分can be a bit tricky但不會混淆ActiveRecord。

這裏的一個大問題是,它更喜歡在連接時緩存模式,並在過程的整個過程中保持這種模式。如果數據庫以任何方式有所不同,那麼就會出現混亂,此外,如果您不斷切換連接,則可能會使事務計劃人員陷入混亂,必須考慮哪些模型存在於哪個數據庫中用於回滾目的。

相關問題