【问题标题】:Are there any reasons not to use Rails Migrations on production DB? [closed]是否有任何理由不在生产数据库上使用 Rails 迁移? [关闭]
【发布时间】:2013-02-12 23:24:24
【问题描述】:

我能想到的唯一危险是开发人员使用 Capistrano 回滚生产数据库上的迁移。 您是否可以想到任何其他风险以及避免意外迁移/数据库重置等的最佳方法是什么?

编辑:我们确实有每日备份。我会这样改写我的问题:根本不使用迁移有什么好处(仅限手动模式更改)?你知道有哪个 Rails 团队在做这件事吗?

【问题讨论】:

  • 除了您的每日备份 - 您可能希望在任何新部署之前备份数据库。 - 在我看来,迁移比手动模式更改要好;您可以在 dev 和 staging 中多次运行它们以验证它们是否正常工作,然后在部署时您知道它们将在同一个庄园中执行。也许您想限制哪些开发人员有权部署到生产环境,设置一个具有更开放访问权限的暂存环境?

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


【解决方案1】:

可能存在数据损坏/不一致的情况,尤其是在您修改现有表时。

我建议您在进行任何迁移或回滚之前确保您拥有最新的备份,并尽可能在暂存环境中运行迁移,然后再将其推广到您的生产环境。

【讨论】:

    【解决方案2】:

    这可能是一个更普遍的问题,即在 prod 数据库上回滚的风险是什么。我会说您需要确保如果架构会更改,请确保现有代码不会中断。避免意外更改的最佳方法可能是备份现有的产品数据库。这样,您可以确保不会因为回滚而丢失所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 2015-06-27
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2016-08-14
      相关资源
      最近更新 更多