You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Liquibase纯XML变更集:属性替换前后何时计算校验和?

问题解答

你的XML变更集属于属性替换完成后计算校验和的情况,具体说明如下:

你的变更集代码

<changeSet author="[...]" id="[...]">
    <addColumn tableName="FOO">
        <column name="BAR" type="${type.string.max.80}" />
    </addColumn>
</changeSet>

官方文档规则(翻译整理)

你可以在sql和sqlFile变更类型中使用属性替换。注意,Liquibase会在完成属性替换后计算sql变更集的校验和;但对于sqlFile变更集,会在替换外部SQL文件中的属性前计算校验和。

场景匹配分析

文档中明确的sql和sqlFile是两类特殊变更类型,而你使用的是XML结构化变更类型(如addColumn):

  • 这类结构化变更的校验和计算逻辑与内嵌sql变更完全一致:Liquibase会先完成所有属性替换,再基于替换后的完整XML内容生成校验和。
  • 仅sqlFile类型采用“替换前计算校验和”的规则,你的场景不涉及该类型,无需遵循此规则。

内容的提问来源于stack exchange,提问作者Thorsten Schöning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:25:58