【发布时间】:2017-12-20 00:23:26
【问题描述】:
我没有使用 outOfOrder。 我希望能够添加一个不是最新的迁移脚本(例如,修复现有脚本,而不更改该脚本)。
作为正常排序的一部分,我希望在尚未迁移的数据库上运行新脚本。 任何最新的数据库(例如手动修复的)都应该忽略新脚本。
来自文档:
OutOfOrder - 允许“乱序”运行迁移。如果你 已经应用了版本 1 和 3,现在找到了版本 2, 它也会被应用而不是被忽略。
这表明新脚本将被忽略,但我收到错误:
错误:验证失败:检测到已解决的迁移未应用于数据库
只有在数据库基线超前时才会忽略新脚本吗? 这是预期的行为吗?
如果是这样,我想我的解决方案是:
- 使用 outOfOrder,并将我的所有脚本复杂化为幂等。
- 每次迁移后为我的数据库设置基线。
【问题讨论】:
标签: validation flyway