【发布时间】:2023-04-02 00:49:01
【问题描述】:
我目前正在使用 Flyway 命令行工具来管理我们的脚本,这些脚本将通过我们的 CI 构建服务器触发的发布过程来调用。
问题是我有 274 次可重复的迁移,涵盖包规范、包体、函数、过程、视图和物化视图。
当我运行 migrate 时,一切都按预期工作,执行迁移,然后执行任何更改的可重复迁移,但可以说在下一个版本中,我们要删除一个可重复迁移维护的对象。例如,我们要删除定义ProcedureOne 的可重复脚本(即R__ProcedureOne.sql)。
为此,我将有一个新的迁移脚本 (V3.1.5.1.01__DropProcedureOne.sql),但我还将删除可重复的迁移脚本,这样就不会再次创建和维护对象。
但是,执行 flyway info 会显示 R__ProcedureOne.sql 脚本的状态为 MISSING。
虽然我同意它丢失了,但删除它是一种蓄意的行为,因为不再需要它而不是放错地方。
我知道迁移选项 ignoreMissingMigrations 但我认为使用它会带来风险并且可能会掩盖真正的丢失文件。
关于如何最好地删除可重复脚本的一般指导是什么?
【问题讨论】:
标签: flyway