只需使用flywaytest来测试我的应用程序。 我想知道是否有一种方法,在导入迁移脚本后,我进行回滚。 如果我不清楚,只需询问信息。
感谢
答案 0 :(得分:5)
您的问题不是很明确,但如果您想要回滚失败的迁移并在此重试,则需要采取以下步骤:
如果您查看schema_version表,您应该看到失败的脚本(state column = FAILED)。您需要更正此脚本,以便它不会再次失败。此外,如果某些脚本成功完成,您可能必须手动还原这些更改,因为再次运行它们可能会导致失败。
然后从表格中删除此行例如delete from schema_version where state = 'FAILED';
然后将当前版本设置回失败前的脚本。你可以通过将它的CURRENT_VERSION设置为1来实现这一点。 update schema_version set current_version = 1 where version = 1.XX;
然后,您可以尝试再次运行飞路迁移。
答案 1 :(得分:1)
如果在迁移期间出现问题,flywaydb不支持回滚,您可以使用的最佳用户是:
http://flywaydb.org/documentation/maven/repair.html
但是您必须自己确保数据库中数据的完整性。
如果您正在努力支持检查点的数据库,请始终建议在迁移之前执行检查点。
祝你好运答案 2 :(得分:0)
FAQ:
中对此进行了解释更新:Flyway 5.0现在附带undo command。
答案 3 :(得分:0)
flyway不支持使用单行命令回滚,
没有像mvn flyway:rollback
这样的命令,有两种方法可以做(IMO)