如何在 Heroku 上自动进行 Rails 迁移 运行

How to have Rails migrations run automatically on Heroku

我在 Rails 应用程序上有 10 多个不同的 Ruby,我必须在其中部署相同的代码。我已将 git 存储库连接到我的 Heroku 应用程序,因此每当我推送新更改时,它都会部署到所有这些应用程序上。

问题出在数据库迁移步骤上。我想在每次部署后自动 运行 迁移。 None 自定义构建包正在运行。有人可以帮帮我吗?我正在使用 rails 4 和 spree。

到目前为止,我已经尝试过:

  1. https://github.com/heroku/heroku-buildpack-ruby.git
  2. https://github.com/gunpowderlabs/buildpack-ruby-db-migrate.git

此解决方案无效。

Heroku 上的 运行 Rails 自动迁移还有其他解决方案吗?

gem 'iconv', '~> 1.0.3' 添加到您的 gemfile 然后尝试它对我有用!

我将此视为此 answer

的副本

如果您正在寻找替代方案,那么您可以在 .sh 文件中编写一个部署脚本,并且 运行 它每次都像 bash 脚本一样。

您可以使用 Travis-ci。设置非常简单并提供所需的功能

无需使用gems 或编写脚本。 Heroku 有一个 'release' 相特征 (https://devcenter.heroku.com/articles/release-phase).

多亏了这个,你只需要添加到你的 Procfile 一些代码来自动 运行 rake db:migrate 你的所有推送:

Procfile(根应用程序)

release: rake db:migrate