Liquibase には、データベースを初期化するためのサーブレット オプションがあります。http://liquibase.org/manual/servlet_listener
フライウェイの例はありますか? それとも、動作するサーブレットでしょうか?
Liquibase には、データベースを初期化するためのサーブレット オプションがあります。http://liquibase.org/manual/servlet_listener
フライウェイの例はありますか? それとも、動作するサーブレットでしょうか?
本当に必要なのは、flyway.migrate()
起動時に実行することです。これはさまざまな方法で実現できますが、サーブレットリスナーもその1つです。
すぐに使用できるサーブレットリスナーはありませんが、独自に作成するのは簡単です。
次のようになります。
@WebListener
public class FlywayListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
Flyway flyway = new Flyway();
flyway.setDataSource(...);
flyway.migrate();
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
ServletContextListener
インターフェイスを実装するクラスは、最初のサーブレット(またはフィルタ)の呼び出しの前と最後の呼び出しの後に呼び出されます。@WebListener
アノテーションは、サーブレットコンテナに目的のリスナーを通知する1つの方法です。詳細については、このOracleチュートリアルを参照し、StackOverflowを検索してください。