我没有使用outOfOrder。 我希望能够添加一个不是最新版本的迁移脚本(例如,修改现有脚本,而不更改该脚本)。
我希望在尚未迁移的数据库上运行新脚本,作为正常排序的一部分。 任何最新的数据库(例如手动修复)都应忽略新脚本。
来自文档:
OutOfOrder - 允许运行迁移"无序"。如果你 已经应用了版本1和3,现在找到版本2, 它也将被应用而不是被忽略。
这表明新脚本将被忽略,但我收到错误:
错误:验证失败:检测到已解决的迁移未应用于数据库
如果数据库基线超前,是否只会忽略新脚本? 这是预期的行为吗?
如果是这样,我想我的解决方案是:
答案 0 :(得分:1)
有一个拉动请求,将及时合并为Flyway 5.1.0:https://github.com/flyway/flyway/pull/1866
在此之前,您还可以选择通过将validateOnMigrate
设置为false
来停用验证。