2013-10-25 71 views
0

我想在一個應用程序上有2個數據庫。 從Connecting Rails 3.1 with Multiple Databases 我知道如何在本地機器上設置它,我知道如何通過更改env變量鏈接到不同的heroku數據庫。 但因爲我的database.yml看起來像如何在Heroku上爲一個Rails應用程序設置多個數據庫

development: 
    adapter: postgresql 
    database: first_database 
log_development: 
    adapter: postgresql 
    database: second_database 
production: 
    adapter: postgresql 

我不知道如何生產應用以來,生產會從DATABASE_URL ENV數據庫的位置鏈接到兩個不同的數據庫。 我需要一個DATABASE_URL2,並且有時要告訴產品動態地使用env變量。

回答

0

Heroku在部署時重寫了database.yml。它使用DATABASE_URL環境變量爲您創建一個database.yml文件。沒有辦法添加第二個配置值,它將在生成的database.yml中創建第二個條目。

有幾種方法可以更新數據庫配置,以便本地使用database.yml並使其在希望在heroku上進行生產時能夠正常工作。注入你的database.yml到應用程序的一種方法是用heroku_db_env寶石:

https://github.com/skryl/heroku_db_env

您將與其他數據庫配置,將您的database.yml,以通過創業板指定的AA文件,然後你會能夠像在當地一樣在Heroku上進行製作。

+0

即使我覆蓋它,我該如何鏈接到另一個數據庫?有沒有一個簡單的配置更改,我可以做,而無需使用某人的寶石? – sonnyhe2002

+0

我不確定當你說'連結'時我明白你的意思。我試圖擴大我的答案,使其更清楚。你問你如何在Rails中的不同數據庫之間切換? –

+0

您對heroku覆蓋的評論有幫助。 – sonnyhe2002

相關問題