【问题标题】:flyway 4.0 java base callback afterValidate not catching the hookflyway 4.0 java基础回调afterValidate没有抓住钩子
【发布时间】:2016-08-15 07:43:43
【问题描述】:

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

这是我的文件结构:

-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");
    }
}

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

【问题讨论】:

  • 你在flyway注册你的回调了吗?在基于 java 的迁移中,它应该通过方法 flyway.setCallbacks(FlywayCallback... callbacks) 来完成。
  • 我不这么认为,我认为它是通过新更新自动完成的,所以我猜我应该在执行 flyway.migrate() 之前设置它
  • 如何执行迁移?至于我,正确的做法是——init flyway -> setCallbacks -> validate -> migrate。有什么我错过的吗?
  • 是的..非常感谢...做到了..我在这里找到了一个例子github.com/flyway/flyway/blob/…
  • 我找到了相同的 :) 祝你好运!

标签: java database database-migration flyway


【解决方案1】:

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

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

flyway.setValidateOnMigrate(true);

// Register call back. 
FruitShopFlywayCallback callback = new FruitShopFlywayCallback();
flyway.setCallbacks(callback);

【讨论】:

    【解决方案2】:

    如果这有帮助。我正在寻找如何配置 Flyway 以使用 Maven 处理 Java 回调。您需要使用 Flyway 注册您的回调类(将 Flyway 与纯 Java 一起使用,您将使用 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多