如何正确管理开发和生产环境的迁移?

时间:2011-02-03 18:45:55

标签: ruby-on-rails ruby migration

我们有一个体面的大型开发团队,在同一代码行上开发了一些并发项目。有时我们会添加可以在开发环境中运行的迁移,但由于该项目的发布计划,不应该在prod中运行几个月。这导致我们坚持使用Rails的原始编号迁移,而不是时间戳,因为我们可以轻松地迁移到某个幻数并且在这个幻数之后进行所有prod迁移。

完全感觉我们做错了。我们仍然遇到开发人员创建相同编号迁移的问题。我们不能简单地将项目保留在分支上一段时间,因为分支将偏离主干。

是否有任何人遇到的方法或工具处理此类迁移问题?

1 个答案:

答案 0 :(得分:2)

你肯定做错了;)

有效管理多个“目标”需要一个好的vcs。我建议使用git或mercurial,因为良好的分支(和合并)支持是必不可少的。

  • 使用带时间戳的迁移:重复问题已解决。
  • 保留不应该(尚未)在非生产分支上进行生产的迁移。 您可以将“master”部署到生产并在功能分支上进行开发,或者您可以拥有一个“生产”分支并在master上进行开发。无论哪种方式,你都不会在生产中运行迁移,直到你真的需要。
  • 经常将“生产”分支合并到您的开发分支 - >分歧问题解决了。
  • 如果只有一个人在主题分支上工作,他可以​​'git rebase'而不是合并生产分支,以保持开发历史的线性。