【问题标题】:Flyway - support for simultaneous versions / multiple branchesFlyway - 支持同时版本/多个分支
【发布时间】:2012-09-24 18:11:51
【问题描述】:

有没有人知道一种允许大型项目(有许多工程师并行工作)使用Flyway 处理版本控制的好方法?我们经常发现,在合并到 master 期间,我们最终会因为 2-3 个独立项目需要更改数据库,并且使用相同的版本号而导致合并冲突。

在这种情况下,我什至不确定 Rails 样式的版本控制时间戳是否有效,因为您不一定知道合并到 master 的顺序。

除了必须在合并之前重新编号迁移之外,还有什么好的技巧可以解决这个问题?

汤姆

【问题讨论】:

    标签: version-control version flyway


    【解决方案1】:

    重新编号当然是一种方法。

    另一个避免版本号冲突的简单技术是拥有一个白板或一个简单的 wiki 页面,每个开发人员可以在开始工作时保留一个版本号。

    另外,Flyway 1.8 即将推出,它将包含一项功能,可以选择允许无序迁移。然而,这并非在所有情况下都没有风险。

    【讨论】:

    • 谢谢 - 我实际上认为乱序是安全的,所以它是一个很好的解决方案。如果两个人大致同时编辑架构的相同部分,那么他们的代码也将导致合并冲突的可能性也很高,因此会强制解开。
    • 假设我和我的同事都创建了 V5-xxx 迁移。当我在提交之前拉入他的更改时,我会遇到冲突。那么在他之后将我的版本更新到V6是否由我决定?我想就像汤姆连扎所说的那样,这将强制没有合并冲突,因为如果我的数据库在应用更改后发生冲突,那么我们的代码也可能发生冲突。为什么不在版本号之后应用某种作者方案,比如 liquibase,这样就不需要重命名了?
    【解决方案2】:

    我见过的克服分支之间的版本控制问题以启用 outOfOrder 并使用时间戳作为版本号的最佳方法

    在这里查看我的答案:How to use Flyway when working with feature branches

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2018-05-25
      • 2020-05-08
      • 2018-01-15
      • 2015-01-22
      • 1970-01-01
      • 2020-12-31
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多