Hibernate 在何处执行Flyway.migrate()?
我正在使用Hibernate JPA开发我的JAX-RS应用程序,设置为Hibernate 在何处执行Flyway.migrate()?,hibernate,jax-rs,flyway,Hibernate,Jax Rs,Flyway,我正在使用Hibernate JPA开发我的JAX-RS应用程序,设置为Hibernate.hbm2ddl.auto='create-drop'以在我的postgresql数据库中创建表 显然,这在生产中是灾难性的 最近,我发现了Flyway,并想尝试一下。它有几种迁移更改的方法,如命令行或API 如果我没有弄错的话,命令行方法要求我单独执行更改,而API方法将自动执行迁移。但是,JAXRS应用程序中的main函数在哪里 希望我的问题足够清楚。如中所述,您可以使用API方法开始迁移,如: Fly
Hibernate.hbm2ddl.auto='create-drop'
以在我的postgresql数据库中创建表
显然,这在生产中是灾难性的
最近,我发现了Flyway,并想尝试一下。它有几种迁移更改的方法,如命令行或API
如果我没有弄错的话,命令行方法要求我单独执行更改,而API方法将自动执行迁移。但是,JAXRS应用程序中的main
函数在哪里
希望我的问题足够清楚。如中所述,您可以使用API方法开始迁移,如:
Flyway flyway = new Flyway();
flyway.setDataSource(...);
flyway.migrate();
唯一必要的是在web应用程序初始化过程中运行此代码段。为此,请使用标准Servlet方法,例如:
@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) {}
}
希望这会有所帮助