【发布时间】:2021-07-10 10:11:28
【问题描述】:
我们正在 Spring Boot 应用程序中的 java 中配置/启动 flyway 迁移。
所以我们有 sql 和 java 迁移文件。
在某些环境中,我们希望运行额外的迁移。基本上,在 QA 环境中,我们希望为数据库准备用于测试的数据。
所以我知道你可以在 java 中配置多个迁移位置。
所以我可以做这样的事情
if(isQAenv == true)
{
Flyway.configure().locations("/db/migrations/","db/qaMigrations/")
else{
Flyway.configure().locations("/db/migrations/")
}
我的问题在于版本控制并确保在所有环境中都按预期执行。
我需要维护编号系统的正确顺序吗?
假设我有以下应该在所有环境中运行的迁移脚本
db/migrations/V1__table1.sql
db/migrations/V2__table2.sql
db/migrations/V4__table2.sql
而且此迁移仅在 QA 环境中运行
db/qaMigrations/V3__insert_statements.sql
现在在非 QA 环境中,我的 beacon_history_table 已迁移 1、2、4。有什么办法可以避免这种情况并在历史记录表中显示更清晰的内容?
【问题讨论】:
标签: java spring-boot flyway