Heroku上辅助数据库的数据库迁移

时间:2015-06-12 23:13:52

标签: ruby-on-rails ruby database heroku rake

我们公司收购了另一家公司的申请,所以我对他们过去如何做到这一点有点不熟悉。目前在Heroku中有两个应用程序。制作和登台应用程序。以下是基本的应用程序设置,以便清晰。

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

Staging App
   // No databases

暂存应用程序的Config Vars指向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)

如何使用rake命令定位辅助BLACK数据库?

2 个答案:

答案 0 :(得分:1)

使用Heroku支持,我无法使用当前配置。所以最后我决定为我们的临时应用程序创建一个数据库。从生产中导入最新的转储文件。并且heroku run rake db:migrate反对分段。

我的原帖仍然有同样的错误(请参阅原始问题)。但是当我检查登台数据库时,架构已正确更新。 Heroku向我指出了以下Stackoverflow discussion,这似乎表明这可能是一个Rails 3错误。

为清晰起见,以下解决方案:

Production App
  WHITE // Primary database
  BLACK // Deleted

Staging App
  Gray // Primary database

答案 1 :(得分:0)

检查您的Gemfile以确保您的数据库驱动程序psql不在仅限生产块中。