2015-06-12 60 views
0

我們公司從另一家公司收購了一個應用程序,所以我對他們過去如何做到這一點有些陌生。目前在Heroku中有兩個應用程序。生產和舞臺應用程序。下面是基本的應用程序設置清晰。Heroku上的二級數據庫上的數據庫遷移

Production App 
    WHITE // Primary database 
    BLACK // Secondary database linked to Staging App 

Staging App 
    // No databases 

暫存應用程序配置瓦爾那點BLACK數據庫URL。

我試圖在我們的登臺應用程序上運行heroku run rake db:migrate,但注意到數據庫已鏈接到二級生產數據庫BLACK

如果我運行

$ heroku run rake db:migrate -a production 

它將更新生產初級WHITE數據庫,但我想先測試二級BLACK數據庫。

如果我運行

$ heroku run rake db:migrate -a staging 

我收到以下錯誤

Error: You must install at least one postgresql-client-<version> package. 
rake aborted! 
Error dumping database 
... 
Tasks: TOP => db:structure:dump 
(See full trace by running task with --trace) 

我如何能夠針對二次BLACK數據庫用耙子命令?

回答

1

使用Heroku支持,我無法獲得這與當前配置。所以最後我決定爲我們的舞臺應用程序創建一個數據庫。從生產中導入最新的轉儲文件。並跑heroku run rake db:migrate反對分期。

我仍然從我原來的帖子中得到同樣的錯誤(請參閱原始問題)。但是,當我檢查登臺數據庫時,架構已正確更新。 Heroku指出我以下Stackoverflow discussion,這似乎表明這可能是一個Rails 3的bug。

下面的解決方案爲清楚:

Production App 
    WHITE // Primary database 
    BLACK // Deleted 

Staging App 
    Gray // Primary database 
0

檢查您的Gemfile以確保您的數據庫驅動程序psql不在生產專用塊中。

+0

感謝您的建議。我檢查了Gemfile並確認pg不在生產區塊中。當我被困時,我也爲Heroku支持創建了一張票。 –