【问题标题】:Database migration scripts and versioning with timestamps数据库迁移脚本和带有时间戳的版本控制
【发布时间】:2014-07-16 18:41:24
【问题描述】:

我们正在尝试使用 Flyway (http://flywaydb.org/) 来应用我们的数据库迁移脚本。

大多数人都使用这样的时间戳版本:20140527112103__alter_some_table.sql 从 bash 脚本或 maven/ant 任务生成这些文件。

如果开发人员在周一生成文件,在某项任务上工作了几天,然后提交迁移脚本,这个问题会怎样呢?现在它将出现故障,并且可能与同时提交的其他脚本发生冲突。

在提交期间有什么方法可以在文件名中添加时间戳?

【问题讨论】:

    标签: database svn migration version flyway


    【解决方案1】:

    您可以打开 outOfOrder 模式,然后一切都会好起来的。除非开发人员 A 在开发人员 B 同时删除的列上创建索引。但是开发人员 A 应该提取最新的更改并测试迁移。

    【讨论】:

      【解决方案2】:

      您所要做的就是在提交之前立即重命名它,您应该没问题。

      【讨论】:

      • 这不会破坏我的开发数据库吗?致力于迁移 20140528113435_adding_a_table.sql,我已将其应用于我的本地开发数据库。在提交之前将其重命名为 20140601113435_adding_a_table.sql。 next flyway:migrate 会再次运行,导致重复表错误。
      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 2023-03-28
      • 2021-12-11
      • 2017-03-02
      • 1970-01-01
      • 2011-02-05
      • 2013-04-10
      • 1970-01-01
      相关资源
      最近更新 更多