我们公司收购了另一家公司的申请,所以我对他们过去如何做到这一点有点不熟悉。目前在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
数据库?
答案 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不在仅限生产块中。