私はSQLベースとJavaベースの両方の移行を行っています。私は、Flywayのコールバックフックを使用して、検証が完了した直後に何か他のことをしようとしていますが、このコールバックをキャッチしていません。 documentationから、次のように簡単なようです。ここでflyway 4.0 JavaベースのコールバックafterValidateがフックをキャッチしない
は、私のファイル構造である:
-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に登録しましたか? Javaベースの移行では、flyway.setCallbacks(FlywayCallback ...コールバック)メソッドで行う必要があります。 – merz
私はそうは思わない、私はそれが自動的に新しいアップデートで行われたと思ったので、私はflyway.migrate()を行う前にそれを設定する必要があります推測している – AirWick219
どのように移行を実行しますか?私にとって、正しい方法は - init flyway - > setCallbacks - > validate - > migrateです。私が逃したものはありますか? – merz