Liquibase 有一个 servlet 选项来初始化数据库。http://liquibase.org/manual/servlet_listener
Flyway有这样的例子吗?或者,更好的工作 servlet?
Liquibase 有一个 servlet 选项来初始化数据库。http://liquibase.org/manual/servlet_listener
Flyway有这样的例子吗?或者,更好的工作 servlet?
你真正想要的是flyway.migrate()
在启动时运行。这可以通过多种方式来实现,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) {
}
}
在第一个 servlet(或过滤器)调用之前和最后一次调用之后调用实现该ServletContextListener
接口的类。注释是通知您的 Servlet 容器您的预期侦听器的一种方式。有关详细信息,请参阅此 Oracle 教程并搜索 Stack Overflow。@WebListener