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

问题描述 投票:0回答:1

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

我可以将前置条件复制到每个变更集中。然而,感觉应该有一种更有效的方法来做到这一点。随着变更集数量的增加,文件中有很多重复项。

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

有没有办法定义将由多个更改集使用的单个preCondition?

任何帮助表示赞赏。

liquibase
1个回答
0
投票

不幸的是,这是不可能的,但有时您可以避免在声明property标记时使用前置条件。例如,如果Oracle和SQL Server等不同数据库具有前提条件(如Oracle中的number和SQL Server中的float),则可以使用propertytag代替使用前置条件:

<property dbms="oracle" name="DECIMALTYPE" value="NUMBER" />
<property dbms="mssql" name="DECIMALTYPE" value="FLOAT" />
© www.soinside.com 2019 - 2024. All rights reserved.