2016-06-22 15 views
1

私はHibernate JPAを使って自分のJAX-RSアプリケーションを開発しており、hibernate.hbm2ddl.auto='create-drop'のような設定で私のpostgresql dbにテーブルを作成しています。実行場所Flyway.migrate()?

明らかに、これは生産上致命的です。

最近、私はフライウェイを発見し、試してみたいです。コマンドラインやAPIのような変更を移行するには、いくつかの方法があります。

私が間違っていないのであれば、コマンドラインアプローチでは変更を個別に実行する必要がありますが、APIアプローチでは自動的に移行が実行されます。ただし、JAXRSアプリケーションではmainの機能は何ですか?

私の質問は十分に明確です。唯一必要なものは、Webアプリケーションの初期化処理中に、このコードスニペットを実行することです

Flyway flyway = new Flyway(); 
flyway.setDataSource(...); 
flyway.migrate(); 

答えて

2

としては次のように移行を開始するために、APIのアプローチを使用することができ、Flyway Docsで述べています。これが役立つ

@WebListener 
public class AppStartupListener implements ServletContextListener { 

    @Override 
    public void contextInitialized(ServletContextEvent event) { 
     Flyway flyway = new Flyway(); 
     // configure datasource 
     flyway.setDataSource(...); 
     flyway.migrate(); 
    } 

    @Override 
    public void contextDestroyed(ServletContextEvent event) {} 

} 

希望:このための標準的なサーブレットのアプローチ、のようなものを使用してください。

関連する問題