0

我有一個使用兩個數據庫的應用程序。現在我處於開發環境。如何在Rails中默認設置每個環境的數據庫? 我database.yml的樣子:如何在Rails中設置默認數據庫?

database1_dev: 
    adapter: mysql2 
    host: localhost 
    database: db1 
    user: root 
    password: asdf 
    pool: 5 
    timeout: 5000 

database2_dev: 
    adapter: mysql2 
    host: localhost 
    database: db2 
    user: root 
    password: asdf 
    pool: 5 
    timeout: 5000 
+0

你是什麼意思「使用兩個數據庫的應用程序」?它是否需要同時連接到兩個數據庫才能正常工作? – Litmus

回答

0

您需要設置一個單獨的環境。默認情況下,在一個新的項目欄中設置測試,生產和開發。你需要設置development_2或者stage或者其他足以描述你正在做什麼的東西。

在您的rails項目中config/environments將開發文件複製到一個新文件中,並使用您在環境中使用的名稱。

然後在您的database.yml文件中,確保有一個條目與每個環境相匹配。所以,如果你有開發和development_2那麼你的項目應該是:

development: 
    adapter: mysql2 
    host: localhost 
    database: db1 
    user: root 
    password: asdf 
    pool: 5 
    timeout: 5000 

development_2: 
    adapter: mysql2 
    host: localhost 
    database: db2 
    user: root 
    password: asdf 
    pool: 5 
    timeout: 5000 

默認情況下,當你運行Rails應用程序這將是發展,使已經從陽明文件選擇development數據庫。

現在,當你想在另一種環境中運行,你就告訴軌ENV爲development_2,如果您使用的rails server命令這反而是

rails server -e development_2 

注意,這個新的環境可能打破某些只能用於staging,test,productiondevelopment的寶石。