我刚接触flyway,所以我可能不明白validate()
是如何工作的。我创建了数据库的基线,创建了一个迁移文件V1_2_3__do_something.sql
,然后运行
flyway validate
我得到了
错误:验证失败:检测到已解析的迁移未应用于数据库:1.2.3
我使用的是4.1.0版本,并使用和不使用参数-ignoreFutureMigrations=true
进行测试,但结果仍然相同。
此外,如果我运行< code>flyway migrate,迁移将顺利完成。
知道发生了什么吗?第一次迁移后,如果我创建V2__xxx
迁移,然后再次运行验证,它将在 V2 上失败,原因相同。
谢谢
一
在这种情况下,验证失败,因为存在挂起的迁移。要使其通过,请添加 -target=current
,如下所述:https://flywaydb.org/documentation/commandline/validate#target