after migrate sql 在应用程序重启后运行,没有执行任何迁移
after migrate sql runs after reboot of the application with no migration performed
我使用的是 Flyway 6.5.7,我有一个 afterMigrate.sql,运行 包含一个 table。我认为只有在发生迁移并且迁移成功时脚本才会 运行。但它总是 运行s(例如在应用程序重启后)
Schema "A_SCHEMA" is up to date. No migration necessary.
Parsing afterMigrate.sql ...
Executing SQL callback: afterMigrate -
是否正确?如果是这样,是否有办法实现所描述的行为?
注意:org.flywaydb.core.Flyway#migrate returns 0 在没有迁移的应用程序重启后
谢谢
它的工作方式是在任何没有错误的迁移之后运行 afterMigrate 回调。成功的迁移就是这样定义的。因此,在您的情况下,您调用了 migrate 命令。 运行 成功了。它没有迁移任何东西。但是,它 运行 没有错误,所以 afterMigrate 回调 运行.
还有 afterEachMigrate
事件,您可以将回调附加到该事件。每次成功执行迁移脚本后 运行s;如果 migrate
发现无事可做,它不会 运行,但不利的是,如果 migrate
发现它需要 [=15] 的多个脚本,它会 运行 不止一次=].根据您推出新脚本的频率,这可能是更适合您的解决方案。
我使用的是 Flyway 6.5.7,我有一个 afterMigrate.sql,运行 包含一个 table。我认为只有在发生迁移并且迁移成功时脚本才会 运行。但它总是 运行s(例如在应用程序重启后)
Schema "A_SCHEMA" is up to date. No migration necessary.
Parsing afterMigrate.sql ...
Executing SQL callback: afterMigrate -
是否正确?如果是这样,是否有办法实现所描述的行为?
注意:org.flywaydb.core.Flyway#migrate returns 0 在没有迁移的应用程序重启后
谢谢
它的工作方式是在任何没有错误的迁移之后运行 afterMigrate 回调。成功的迁移就是这样定义的。因此,在您的情况下,您调用了 migrate 命令。 运行 成功了。它没有迁移任何东西。但是,它 运行 没有错误,所以 afterMigrate 回调 运行.
还有 afterEachMigrate
事件,您可以将回调附加到该事件。每次成功执行迁移脚本后 运行s;如果 migrate
发现无事可做,它不会 运行,但不利的是,如果 migrate
发现它需要 [=15] 的多个脚本,它会 运行 不止一次=].根据您推出新脚本的频率,这可能是更适合您的解决方案。