Heroku 二级数据库上的数据库迁移
Database Migrations on Secondary Database on 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)
如何使用 rake 命令定位辅助 BLACK
数据库?
检查您的 Gemfile 以确保您的数据库驱动程序 psql 不在仅生产块中。
使用 Heroku 支持,我无法让它与当前配置一起使用。所以最后我决定为我们的登台应用程序创建一个数据库。从生产中导入最新的转储文件。 运行 heroku run rake db:migrate
反对分期。
我仍然遇到与原来 post 相同的错误(参见原始问题)。但是当我检查登台数据库时,架构已正确更新。 Heroku 向我指出了以下 Whosebug discussion,这似乎表明这可能是一个 Rails 3 错误。
为清楚起见,以下解决方案:
Production App
WHITE // Primary database
BLACK // Deleted
Staging App
Gray // Primary database
我们公司从另一家公司获得了一个应用程序,所以我有点不了解他们过去是如何做到这一点的。目前在 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)
如何使用 rake 命令定位辅助 BLACK
数据库?
检查您的 Gemfile 以确保您的数据库驱动程序 psql 不在仅生产块中。
使用 Heroku 支持,我无法让它与当前配置一起使用。所以最后我决定为我们的登台应用程序创建一个数据库。从生产中导入最新的转储文件。 运行 heroku run rake db:migrate
反对分期。
我仍然遇到与原来 post 相同的错误(参见原始问题)。但是当我检查登台数据库时,架构已正确更新。 Heroku 向我指出了以下 Whosebug discussion,这似乎表明这可能是一个 Rails 3 错误。
为清楚起见,以下解决方案:
Production App
WHITE // Primary database
BLACK // Deleted
Staging App
Gray // Primary database