liquibase - 多个变更集的 Liquibase 单一前提条件
问题描述
如果存在特定条件,我想运行许多变更集。例如,仅当 sqlCheck 以异常结果执行时才运行变更集 1、2 和 3。
我可以将前提条件复制到每个变更集中。然而,感觉应该有一种更有效的方法来做到这一点。随着变更集数量的增加,这些文件有很多重复项。
直接在 databaseChangeLog 下的 preConditions 元素似乎只配置 dbms 和 runAs。
有没有办法定义将由多个变更集使用的单个前置条件?
任何帮助表示赞赏。
解决方案
不幸的是,这是不可能的,但有时您可以在声明property
标签时避免使用前置条件。例如,当您为 Oracle 和 SQL Server 等具有不同数据类型的不同数据库(如 Oracle 和 SQL Server
number
)设置先决条件时,您可以使用标签float
代替对每个数据库使用先决条件:property
<property dbms="oracle" name="DECIMALTYPE" value="NUMBER" />
<property dbms="mssql" name="DECIMALTYPE" value="FLOAT" />
推荐阅读
- c# - 没有语法错误,但程序不产生任何结果
- xamarin.forms - 有没有人在 Xamarin Forms 中实现了对 iOS 的分屏支持,如果有,他们是怎么做的?
- firebase - 我可以“拦截”来自具有云功能的谷歌云托管服务 PWA 的请求吗?
- spring-cloud-stream - 从现有的 GCP pubsub 订阅中消费
- maven - Maven项目在没有IDE的情况下执行
- kubernetes - 用于 Kubernetes 的 Docker 镜像部署工具
- excel - Excel超链接到另一个工作表上的另一个超链接
- r - 如何获得没有重复元素的列表的所有组合?
- java - 如何将用户的 Google 帐户照片直接上传到 Firebase 存储?
- javascript - 如何更新对象数组中的单个值,然后更新状态