如何手动清理针对数据库运行的最后一次 flyway 迁移

Posted

技术标签:

【中文标题】如何手动清理针对数据库运行的最后一次 flyway 迁移【英文标题】:how do I manually cleanup the last flyway migration that ran against a database 【发布时间】:2017-04-20 13:06:55 【问题描述】:

我想手动删除已针对数据库成功运行的 flyway 迁移。这是最后一次运行的迁移。

这行得通吗:

    手动还原在迁移脚本中执行的更改(它添加了一列,因此将删除该列)

    从 schema_version 表中删除迁移条目

我还有什么需要做的吗?

【问题讨论】:

【参考方案1】:

是的,这会起作用,但此外,如果您不希望它在下一个 migrate 上再次运行,则需要删除有问题的迁移脚本。

如果您想保留迁移但对其进行更改,也可以利用 repair

【讨论】:

【参考方案2】:

理想情况下,如果您想撤消迁移所做的更改,您应该创建另一个迁移脚本来执行此操作。推荐这种做法,因为它可以避免在 flyway 之外修改 DB 状态。

【讨论】:

以上是关于如何手动清理针对数据库运行的最后一次 flyway 迁移的主要内容,如果未能解决你的问题,请参考以下文章

需要设置一个配置文件,让 Flyway 在重新启动时清理数据库

FlyWay 与相互依赖的数据库

如何使用 flyway 跳过特定的迁移?

手动更改表中的varchar大小后如何同步Flyway迁移文件?

记一次手动清理Linux挖矿病毒

如何最好地处理带有嵌入式数据库的 Flyway 以进行集成测试?