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

使用SQLcl执行Liquibase变更集时如何直接传递参数替代属性文件

使用SQLcl+Liquibase直接传递变更集参数的方法

我正在使用SQLcl搭配Liquibase向Oracle数据库部署变更,现有如下YAML格式的变更集(用于编译utils_pkg的包规范):

- changeSet:
      id: ${changesetOwner}.utils_pkg_s
      author: def_author
      runOnChange: true
      changes:
        - sqlFile:
            path: utils_pkg_s.sql
            splitStatements: true
            endDelimiter: /
            relativeToChangelogFile: true

目前我需要动态生成属性文件来传递${changesetOwner}的值,再通过以下命令执行Liquibase更新:

lb update -default-schema-name ORDERS -changelog-file main.yaml -defaults-file deployment.properties -liquibase-schema-name DEPLOYMENT

这种方法可行但生成属性文件较为繁琐,请问是否可以通过类似SQLcl中define变量的方式直接传递参数?例如在SQL脚本中先定义变量再执行更新命令,让变更集能够获取到changesetOwner的值,示例如下:

define changesetOwner = ORDERS
lb update -default-schema-name ORDERS -changelog-file main.yaml -liquibase-schema-name DEPLOYMENT

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:25:53