【问题标题】:Liquibase Single Precondition for multiple Changesets多个变更集的 Liquibase 单一前提条件
【发布时间】:2018-09-17 14:32:28
【问题描述】:

如果存在特定条件,我想运行许多变更集。例如,仅当 sqlCheck 以异常结果执行时才运行变更集 1、2 和 3。

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

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

有没有办法定义一个前置条件,供多个变更集使用?

感谢任何帮助。

【问题讨论】:

  • 最好分享一些有关您的先决条件的细节,以便获得更好的答案。不同的工作流程或其他一些 liquibase 功能可能会更好地满足您的最终目标。

标签: liquibase


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答,我将研究属性在 liquibase 中的工作方式,看看是否可以解决我的问题。同时,我已将 preCondition 复制到每个变更集
猜你喜欢
  • 1970-01-01
  • 2021-10-08
  • 2021-03-27
  • 1970-01-01
  • 2023-04-02
  • 2019-10-16
  • 2020-07-14
  • 2017-01-02
  • 1970-01-01
相关资源
最近更新 更多