2013-03-08 26 views
1

我有一個相當獨特的情況。首先,我們有一個用php編寫的遺留應用程序,它們正在遷移到rails。因爲我們是一個saas,所以我們有一個APPLICATION數據庫,它包含大量主數據,例如登錄數據,這些數據持有最終我們用來連接到CLIENT數據庫和webapp的數據庫身份驗證憑證。由於客戶端安全等原因,所有數據都必須分離到各個CLIENT數據庫中。我們沒有選擇。rails結果集和更新到多個數據庫/從多個數據庫更新

爲了讓這一步更進一步,CLIENT數據庫保存了我們需要從我們的主要APPLICATION數據庫/ Web應用程序訪問的數據,例如運輸和庫存數據。

所以,我們試圖解決的問題是這樣的。 APPLICATION數據庫/ web應用程序有一個管理部分,所以我們可以管理所有客戶端的貨物和庫存。這個Web應用程序需要查看所有客戶的貨件和庫存,以及更新貨件狀態(運輸中,運送中)和庫存。

因此,我還沒有弄清楚創建一個使用APPLICATION數據庫的應用程序的Rails應用程序的最佳方式,然後查詢和更新分離的CLIENT dbs中的所有CLIENT數據。

我會盡量縮短這一點。

主應用程序webapp有一個界面,用於搜索所有100個CLIENT dbs的裝運日期,並將裝運數據顯示在表格中。此外,我們需要深入發貨行以更新任何庫存數據,並更新貨件的狀態等。

我想我的問題是這甚至可能在rails中或ActiveRecord受限制,因爲您定義數據庫連接的方式在database.yml文件中?我知道有一種方法可以解決這個問題,但對於Rails來說是相當新穎的,我想確保我們做到這一點。顯然,表現並不是超級重要,但它是如此。

回答

1

也許試試DbCharmergithub)。它可能支持你想要做的事情。或者,也許data-fabric

+0

謝謝,我會檢查出來。換句話說,這就是我正在尋找的東西。 SELECT {$ var_db_name} .EVENTSHIPPING.INFO FROM {$ var_db_name} .EVENTSHIPPING WHERE {$ var_db_name} .EVENTSHIPPING.EVENT_ID = {$ var_event_id}。這個select語句在遍歷所有數據庫名稱或{$ var_db_name}的循環內,如果有意義的話。 – 2013-03-08 02:35:32