多个变更集的Liquibase单个前提条件

时间:2018-09-17 14:32:29

标签: liquibase

如果存在特定条件,我有许多变更集要运行。例如,仅当使用例外结果执行sqlCheck时,才运行更改集1、2和3。

我可以将前提条件复制到每个变更集中。但是,感觉应该有一种更有效的方法来执行此操作。随着变更集数量的增加,文件中会有很多重复项。

直接在databaseChangeLog下的preConditions元素似乎仅配置dbms和runAs。

是否有一种方法可以定义多个变更集使用的单个前提条件?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不幸的是,这是不可能的,但是有时您可以避免在声明property标记时使用先决条件。例如,当您对不同的数据库(例如Oracle和SQL Server)具有不同的数据类型(例如,  在Oracle中使用number,在SQL Server中使用float,可以使用property标签代替每个数据库的先决条件:

<property dbms="oracle" name="DECIMALTYPE" value="NUMBER" />
<property dbms="mssql" name="DECIMALTYPE" value="FLOAT" />