flyway 4.0 java基础回调afterValidate没有抓钩

Air*_*219 7 java database database-migration flyway

我有基于SQL和Java的迁移.我正在尝试使用Flyway回调挂钩在验证完成后立即执行其他操作,但它没有捕获此回调.从文档中,它看起来像下面这么简单.

这是我的文件结构:

-java
--db
---migrations
----V1__apple   <----java based
--FruitShopFlywayCallback.java  <---- Callback class
-resources
--migrations
--- V1__orange.sql  <----sql based
Run Code Online (Sandbox Code Playgroud)

我的回调:

public class FruitShopFlywayCallback extends BaseFlywayCallback {
    @Override
    public void afterValidate(Connection dataConnection) {
        System.out.println("it worksssssssss");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,一旦迁移完成,flyway就会回调这个方法.我不确定我错过了什么?

Air*_*219 4

我只需要在初始化 Flyway 时注册回调即可。这就是我所做的。在那之后。它按预期工作

// Initializing Flyway
Flyway flyway = new Flyway();
flyway.setDataSource(dataSource);

flyway.setValidateOnMigrate(true);

// Register call back. 
FruitShopFlywayCallback callback = new FruitShopFlywayCallback();
flyway.setCallbacks(callback);
Run Code Online (Sandbox Code Playgroud)