我应该将flyway绑定到哪个maven阶段:迁移目标?
我使用Flyway使我的DB模式保持最新。我希望使用flyway的maven插件将此作为构建生命周期中的一个步骤进行自动化,该插件将执行该目标 我应该将这个目标绑定到哪个maven阶段?我很困惑,因为这有几个不同的用例我应该将flyway绑定到哪个maven阶段:迁移目标?,maven,flyway,Maven,Flyway,我使用Flyway使我的DB模式保持最新。我希望使用flyway的maven插件将此作为构建生命周期中的一个步骤进行自动化,该插件将执行该目标 我应该将这个目标绑定到哪个maven阶段?我很困惑,因为这有几个不同的用例 我希望我的测试数据库在每次测试运行时都被完全销毁和重建,因此在测试阶段执行一次插件是有意义的 在我的开发环境中,我希望在每次构建项目时迁移(而不是重建!),以保持模式的最新。我能把这个绑在包装?还是编译 在我的生产环境中我同样希望再次运行迁移,但在我的生产数据库上。这甚至应该是自
测试
阶段执行一次插件是有意义的谢谢 通常,您希望在运行时运行数据库迁移,而不是在使用Maven构建项目时运行 要在运行时运行迁移,请参阅官方文档:。它提供了几种配置方法: 程序配置
导入org.flywaydb.core.Flyway;
...
Flyway Flyway=Flyway.configure().dataSource(url、用户、密码).load();
flyway.migrate();
//启动应用程序的其余部分(包括Hibernate)
...
弹簧配置
...
...
关于你的第1部分。我建议使用集成测试阶段,如集成前测试
,集成测试
和集成后测试
,因为这些都是集成测试,而不是单元测试..而且它更适合集成测试的各个部分..除此之外,听起来好像您弄错了构建时间和运行时间..谢谢,在我发布这个问题后,我意识到我把构建时间和运行时间混为一谈了。感谢你的意见。