如果存在特定条件,我有许多我想要运行的变更集。例如,仅当sqlCheck使用例外结果执行时才运行更改集1,2和3。
我可以将前置条件复制到每个变更集中。然而,感觉应该有一种更有效的方法来做到这一点。随着变更集数量的增加,文件中有很多重复项。
直接在databaseChangeLog下的preConditions元素似乎只配置dbms和runAs。
有没有办法定义将由多个更改集使用的单个preCondition?
任何帮助表示赞赏。
不幸的是,这是不可能的,但有时您可以避免在声明property
标记时使用前置条件。例如,如果Oracle和SQL Server等不同数据库具有前提条件(如Oracle中的number
和SQL Server中的float
),则可以使用property
tag代替使用前置条件:
<property dbms="oracle" name="DECIMALTYPE" value="NUMBER" />
<property dbms="mssql" name="DECIMALTYPE" value="FLOAT" />