Heroku在部署代码之前运行迁移

时间:2012-02-23 01:30:20

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

我想在部署代码到Heroku实例之前运行迁移。这是因为我编写的代码向后兼容我的数据库,如果迁移需要很长时间,我不想先推送代码,将应用程序置于维护模式,直到迁移完成,然后将应用程序从维护模式。

如果存在这样的解决方案或可以解决我的问题,我想知道它。目前,我有一个单独的框,其中包含所有代码(和迁移),首先接受推送,然后运行迁移,然后将代码部署到Heroku。

有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

不,我认为您当前的解决方案是唯一合乎逻辑的解决方案。你想要实际做的是同时推送数据库和代码,而不是整个数据库,只推送架构。我认为这只能像你一样完成,并且没有必要以另一种方式完成,因为这正是你想要的 - 有些东西可以处理你对Heroku的推送,运行数据库迁移,并将所有内容推送到一起。

答案 1 :(得分:-2)

您可以heroku db:pull在本地运行迁移,然后heroku db:push再部署。