【发布时间】:2012-04-01 17:05:03
【问题描述】:
几个月来,我一直在开发 Heroku 应用程序。我们最近设置了一个登台服务器,偶尔也设置了sync the staging db with the production db。使用的三个主要命令是:
$ heroku pgbackups:capture --app myapp
$ heroku pg:reset DATABASE --app myapp-staging --confirm myapp-staging"
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging
问题是运行第三条命令后,我需要运行heroku run rake db:migrate --app myapp-staging。我们现在有几十个迁移,包括一些引用我们已删除或重命名的 Ruby 类的迁移。
这会导致迁移无法完全运行。这里有什么解决方案?我应该删除失败的旧迁移并将这些更改提交到 git repo 吗?
【问题讨论】:
-
为什么需要运行迁移 - 完成此操作后代码和数据应该相同。
-
@NeilMiddleton 我更新了我的问题——我相信 pg:reset 命令是重置架构的原因。我们正在尝试将这个过程简化为我们的设计师可以运行的 rake 任务。第二个命令是必要的,因为我们没有假设所有迁移都被推送到暂存和生产并同时运行 - 我们可能会在暂存时测试迁移,或者有人可能会在没有先推送到暂存的情况下将其推送到生产。跨度>
标签: ruby-on-rails heroku migration