2013-08-17 18 views
3

我有一個rails應用程序,用於連接到託管在亞馬遜上的生產從數據庫。我想創建第二個數據庫,它有一個完全不同的架構,並將其保存在本地機器上。原因是從我們使用的第三方導入數據,並更好地組織和訪問它,而不是點擊它們的API。我的問題是如何設置第二個數據庫?如果一起創建一個新的rails應用程序會更好嗎?如果我在我的database.yml中設置了一個新的環境和一個新的數據庫,我將如何爲該數據庫創建一個自定義模式等等?在rails應用程序中管理2個不同的數據庫模式

謝謝!

+0

相關:http://stackoverflow.com/questions/1825844/multiple-databases-in-rails – rwilliams

+0

你可以做現有應用中的新遷移文件,並使用種子屬性導入數據,不是嗎? – dirtydexter

回答

4

是否使用不同的Rails應用程序取決於兩個應用程序之間存在多少功能重疊,如果有兩個應用程序。但是,如果要解決來自同一個Rails應用程序的兩個單獨數據庫的問題,以便您可以處理來自一個數據庫的條目以在其他數據庫中進行更改,這相當容易。如果您搜索establish_connection,有很多示例,例如:https://web.archive.org/web/20160320192534/http://blog.nistu.de/2012/03/25/multi-database-setup-with-rails-and-rspec

基本上,您的應用程序有一個主要的默認數據庫,然後設置一個或多個模型以便使用不同的數據庫在database.yml中以不同名稱定義第二個數據庫的配置。然後,將您的模型定義中的establish_connection調用引用不同的數據庫配置。

有這裏在多數據庫配置管理遷移一些選項:Using Rails Migration on different database than standard "production" or "development"

+0

真棒謝謝你! – BC00

相關問題