Flyway不会忽略无序迁移脚本,outOfOrder = false

问题描述 投票:0回答:1

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

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

从文档:

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

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

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

如果数据库基线超前,是否只会忽略新脚本?这是预期的行为吗?

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

  • 使用outOfOrder,并使我的所有脚本复杂化为幂等。
  • 每次迁移后基线我的数据库。
validation flyway
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.