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

如何让Liquibase基于参数替换值计算校验和?

问题描述

我的Spring配置YAML里有如下Liquibase参数结构:

spring:
  liquibase:
    parameters:
      remote:
        schema:
          name: common
        table:
          games_table: games

对应的Liquibase变更集定义如下:

<changeSet author="user1" id="create_virtual_tables" dbms="postgresql">
    <sqlFile path="liquibase/sql/ddl/virtual_tables.sql"/>
</changeSet>

SQL脚本用于在PostgreSQL中创建外部表,内容如下:

CREATE FOREIGN TABLE public.games (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    genre VARCHAR(100),
    release_date DATE,
    developer VARCHAR(255)
)
SERVER remote_server
OPTIONS (schema_name '${remote.schema.name}', table_name '${remote.table.games_table}');

我清楚Liquibase的校验和计算是基于脚本原始文本,而非参数替换后的实际值。现在需要实现:当配置里的参数值(比如把remote.table.games_table从games改成games_new)发生变化时,启动程序时Liquibase能直接抛出错误。之前试过preConditions和validCheckSum,但都不符合我的需求。

内容的提问来源于stack exchange,提问作者Digital Nomad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:05:03