【问题标题】:Heroku and Rails: transferring db to staging and db:migrateHeroku 和 Rails:将 db 转移到 staging 和 db:migrate
【发布时间】: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


【解决方案1】:

重新运行此脚本修复了错误,因此架构似乎应该只是复制过来。对于像我一样看到迁移失败的任何人,pgbackups:restore 命令可能对您来说失败了,所以重新运行它。

【讨论】:

  • 我应该补充一点,我在发布此问题之前尝试重新运行脚本,并且没有任何错误引起我的注意。
【解决方案2】:

您现在也可以在 pgbackups 中签出传输命令 .. 参见这篇文章

How do I transfer production database to staging on Heroku using pgbackups? Getting error

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 2019-02-16
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多