【发布时间】:2019-01-25 15:19:47
【问题描述】:
我正在使用 Flyway 使我的数据库架构保持最新。我希望使用 flyway 的 maven 插件将其作为构建生命周期中的一个步骤自动化,该插件将执行 flyway:migrate 目标。
我应该将此目标绑定到哪个 Maven 阶段?我很困惑,因为有几个不同的用例。
我希望我的 test db 在每次运行测试时完全销毁并重建,因此在
test阶段执行一次插件是有意义的在我的 开发 环境中,我希望每次构建项目时都迁移我的数据库(而不是重建!),以使架构保持最新。我会把它绑定到...
package吗?还是compile?在我的 生产 环境中,我同样想再次运行 migrate,但在我的生产数据库上。这甚至应该是自动化的,还是应该手动运行?如果它应该是自动化的,它会成为
deploy阶段的一部分吗?
谢谢!
【问题讨论】:
-
关于您的第 1 部分。我建议使用像
pre-integration-test、integration-test和post-integration这样的集成测试阶段,因为这些是集成测试而不是单元测试......而且它确实更适合集成测试部分...除此之外,您似乎弄错了构建时间和运行时间.... -
谢谢,我意识到我在发布问题后将构建和运行时间混为一谈。感谢您的意见。