Liquibase有一个servlet选项来初始化数据库。 http://liquibase.org/manual/servlet_listener
Flyway有这样的例子吗?或者,更好的是一个工作的servlet?
答案 0 :(得分:2)
您真正想要的是在启动时运行flyway.migrate()
。这可以通过各种方式实现,Servlet Listener就是其中之一。
开箱即用的没有servlet监听器,但是推出自己的servlet监听器是微不足道的。
看起来应该是这样的:
@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
接口的类称为before第一个servlet(或过滤器)调用和after最后一个。 @WebListener
注释是向Servlet容器通知您的预期监听器的一种方法。有关详细信息,请参阅this Oracle Tutorial和search Stack Overflow。