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

时间:2016-03-22 07:43:58

标签: ruby-on-rails ruby heroku migration rails-migrations

我有超过10种不同的Ruby on Rails应用程序,我必须部署相同的代码。我已将git repo连接到我的Heroku应用程序,因此每当我推送新的更改时,它都将部署在所有这些应用程序上。

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

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

  1. https://github.com/heroku/heroku-buildpack-ruby.git
  2. https://github.com/gunpowderlabs/buildpack-ruby-db-migrate.git
  3. 此解决方案无效。

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

无需使用gem或编写脚本。 Heroku具有“发布”阶段功能(https://devcenter.heroku.com/articles/release-phase)。

感谢这一点,您只需要向您的Procfile添加一些代码即可自动为您的所有推送运行rake db:migrate

Procfile(根应用)

release: rake db:migrate

答案 2 :(得分:0)

gem 'iconv', '~> 1.0.3'添加到您的gem文件中,然后尝试它将对我有效!

我将此视为此answer

的副本

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