spring-boot - Flyway:防止在空数据库上迁移?
问题描述
我正在开发一个使用 Camunda 的 Spring Boot 应用程序
我刚刚将我们的 Camunda 版本提高了几个小版本,我正在使用 Flyway 运行增量 SQL 脚本来更新数据库以支持新的 camunda 版本(v1.02--7.8-7.9.sql 和 v1.03 --7.9>7.10.sql)
此迁移适用于当前位于 Camunda 7.8 上的现有数据库,但当我尝试在干净的数据库上运行应用程序时它会失败。
其中一个脚本尝试添加一列:
ALTER TABLE ACT_ID_USER
ADD LOCK_EXP_TIME_ timestamp;
但是,如果应用程序在一个干净的数据库上运行,它会抱怨该列已经存在 - 大概是因为数据库刚刚用 9.10 初始化,所以在事后运行 9.8 迁移不起作用
我想知道如果数据库在启动时为空,Flyway 是否有办法不运行这些迁移?
或者,我的问题是我使用 Flyway 的方式吗?是否应该在 Camunda 初始化数据库之前执行 flyway?
解决方案
推荐阅读
- sql-server - Azure SQL 数据库角色和访问权限
- python - 我想要两个列表框来显示相互对应的项目
- python-3.x - Python3 - RecursionError: 编译期间超出最大递归深度
- android - FragmentContainerView 中未调用/显示 OnMapReady
- firebase - Firebase 是否有通知监控功能?
- assembly - 整数显示程序不起作用 - MASM32
- javascript - 字体真棒注释掉解析后的标签
- c# - Problem with Unity 2019.429f1, why scene does not appear?
- javascript - JsBarcode 未定义
- javascript - 我如何使这个跨度居中?