我希望能够在部署失败后部署到我的数据库,因为在我的情况下,我正在处理并发和独立部署。 flyway clean命令有助于删除迁移表中的失败迁移。使用该命令有助于我将来的部署将被执行,但缺点是我失去了部署失败的历史。
有没有办法告诉flyway修复迁移表并保留部署失败的历史记录 - 比如说成功标志为'2'。
在我的情况下,所有部署都是独立的,因此我们在部署时创建唯一的迁移号码 - 这使我们可以在不考虑flyway状态的情况下重新部署任何内容(我们只使用flyway提供的自动化机制并禁用其他'迁移'保护措施)。
答案 0 :(得分:1)
本机不支持此功能。我同意删除失败迁移的历史记录作为一种选择是很方便的。
使用callbacks可能会为您提供解决方法。具体来说,您可以在beforeRepair回调中获取失败迁移的副本。如果使用SQL文件,请创建一个beforeRepair.sql(或者您的迁移后缀的任何内容)。