我们使用Spring并将Flyway集成到一个使用DispatcherServlet并运行后台数据库线程的webapp中。
如何控制Spring的执行流程,以便在启动之前进行迁移?延迟DispatcherServlet启动和控制器创建应该足以满足我们的目的。
答案 0 :(得分:3)
您可以尝试Spring Boot flyway support http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html
我没有使用它,但我希望它在“启动”“真实”应用程序之前运行flyway脚本。 (如果不是,那将毫无用处)
答案 1 :(得分:0)
我认为Flyway Callbacks之后的迁移方法正是您所寻找的。
答案 2 :(得分:0)
你可以在一个单独的工厂中飞行到你的春季MVC的东西。通过这种方式,您可以在具体的MVC内容出现之前完全创建并完成飞路和其他业务逻辑等工厂。
我建议你把这两个问题分开来分开工厂,因为它很好地区分了两个上下文。
实现这一目标的一种方法是在Spring MVC之前启动业务逻辑/ flyway工厂......
答案 3 :(得分:0)
你真正想要的是Flyway在你的持久层出现之前迁移数据库。
由于您的控制器已经依赖于此持久层,因此您现在需要使持久层本身依赖于Flyway。使用XML配置,可以使用official docs中描述的依赖属性来实现。