首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flyway 4.0 java基础回调afterValidate没有捕获钩子

flyway 4.0 java基础回调afterValidate没有捕获钩子
EN

Stack Overflow用户
提问于 2016-04-21 21:34:39
回答 2查看 654关注 0票数 7

我有基于SQL和Java的迁移。在验证完成后,我尝试使用Flyway回调钩子来做其他事情,但是它没有捕获这个回调。从文档来看,它看起来就像下面这样简单。

以下是我的文件结构:

代码语言:javascript
复制
-java
--db
---migrations
----V1__apple   <----java based
--FruitShopFlywayCallback.java  <---- Callback class
-resources
--migrations
--- V1__orange.sql  <----sql based

我的回音:

代码语言:javascript
复制
public class FruitShopFlywayCallback extends BaseFlywayCallback {
    @Override
    public void afterValidate(Connection dataConnection) {
        System.out.println("it worksssssssss");
    }
}

我的想法是,一旦迁移完成,天桥就会回调这个方法。我不知道我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-14 05:00:20

我只是需要在初始化天桥的时候登记回电话。这就是我所做的。在那之后。它按预期工作。

代码语言:javascript
复制
// Initializing Flyway
Flyway flyway = new Flyway();
flyway.setDataSource(dataSource);

flyway.setValidateOnMigrate(true);

// Register call back. 
FruitShopFlywayCallback callback = new FruitShopFlywayCallback();
flyway.setCallbacks(callback);
票数 4
EN

Stack Overflow用户

发布于 2016-11-23 19:39:52

以防这有帮助。我在寻找如何使用Maven配置Flyway来处理Java回调。您需要向Flyway注册回调类(使用带纯Java的Flyway,您可以使用setCallbacks)。

在maven中,如下所示:

代码语言:javascript
复制
<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>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36780905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档