【问题标题】:Flyway does not ignore out of order migration scripts, with outOfOrder=falseFlyway 不会忽略乱序迁移脚本,其中 outOfOrder=false
【发布时间】:2017-12-20 00:23:26
【问题描述】:

我没有使用 outOfOrder。 我希望能够添加一个不是最新的迁移脚本(例如,修复现有脚本,而不更改该脚本)。

作为正常排序的一部分,我希望在尚未迁移的数据库上运行新脚本。 任何最新的数据库(例如手动修复的)都应该忽略新脚本。

来自文档:

OutOfOrder - 允许“乱序”运行迁移。如果你 已经应用了版本 1 和 3,现在找到了版本 2, 它也会被应用而不是被忽略。

这表明新脚本将被忽略,但我收到错误:

错误:验证失败:检测到已解决的迁移未应用于数据库

只有在数据库基线超前时才会忽略新脚本吗? 这是预期的行为吗?

如果是这样,我想我的解决方案是:

  • 使用 outOfOrder,并将我的所有脚本复杂化为幂等。
  • 每次迁移后为我的数据库设置基线。

【问题讨论】:

    标签: validation flyway


    【解决方案1】:

    有一个拉取请求将及时合并到 Flyway 5.1.0:https://github.com/flyway/flyway/pull/1866

    在此之前,您还可以通过将 validateOnMigrate 设置为 false 来禁用验证。

    【讨论】:

    • 所以 v5 将有一个新标志:ignoreIgnoredMigrations。在那之前,我将不得不关闭验证。谢谢
    猜你喜欢
    • 2020-05-29
    • 2018-02-28
    • 2015-10-10
    • 2016-03-21
    • 1970-01-01
    • 2016-04-28
    • 2018-05-10
    • 2011-11-05
    • 2020-08-17
    相关资源
    最近更新 更多