我有基于SQL和Java的迁移。在验证完成后,我尝试使用Flyway回调钩子来做其他事情,但是它没有捕获这个回调。从文档来看,它看起来就像下面这样简单。
以下是我的文件结构:
-java
--db
---migrations
----V1__apple <----java based
--FruitShopFlywayCallback.java <---- Callback class
-resources
--migrations
--- V1__orange.sql <----sql based我的回音:
public class FruitShopFlywayCallback extends BaseFlywayCallback {
@Override
public void afterValidate(Connection dataConnection) {
System.out.println("it worksssssssss");
}
}我的想法是,一旦迁移完成,天桥就会回调这个方法。我不知道我错过了什么?
发布于 2017-05-14 05:00:20
我只是需要在初始化天桥的时候登记回电话。这就是我所做的。在那之后。它按预期工作。
// Initializing Flyway
Flyway flyway = new Flyway();
flyway.setDataSource(dataSource);
flyway.setValidateOnMigrate(true);
// Register call back.
FruitShopFlywayCallback callback = new FruitShopFlywayCallback();
flyway.setCallbacks(callback);发布于 2016-11-23 19:39:52
以防这有帮助。我在寻找如何使用Maven配置Flyway来处理Java回调。您需要向Flyway注册回调类(使用带纯Java的Flyway,您可以使用setCallbacks)。
在maven中,如下所示:
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>${flyway.version}</version>
<configuration>
<driver>org.hsqldb.jdbcDriver</driver>
<url>jdbc:hsqldb:file:${project.build.directory}/db/flyway_sample;shutdown=true</url>
<user>SA</user>
<callbacks>
<callback>example.MyCallback</callback>
</callbacks>
</configuration>
</plugin>https://stackoverflow.com/questions/36780905
复制相似问题