Liquibase:如何使用SQL格式运行Java代码变更集?
用Liquibase SQL格式触发自定义变更的方法
在Liquibase的SQL格式变更日志里,你需要用注释指令来调用自定义Java变更,核心是用--customChange指令,逻辑和XML版本一致,只是换成了SQL注释的写法。
基础示例
对应你给出的XML代码,SQL格式的写法如下:
--liquibase formatted sql --changeset your-name:change-id-123 --customChange class="my.java.Class" id="2"
多参数场景
如果要传递多个参数,直接在--customChange后面追加键值对即可:
--liquibase formatted sql --changeset your-name:change-id-456 --customChange class="my.java.Class" id="2" name="test" status="active"
关键说明
- 必须在SQL文件开头加上
--liquibase formatted sql,告诉Liquibase这是它可识别的格式化SQL变更日志 --customChange要放在--changeset块内部,每个变更集可包含一个或多个自定义变更指令class属性是必填项,要填写自定义Java类的全限定类名,这个类需要实现Liquibase的CustomTaskChange或CustomSqlChange接口- 参数直接以
参数名="参数值"的形式追加,和XML里的<param>标签作用完全一致
内容的提问来源于stack exchange,提问作者bcoughlan
相关产品推荐
相关产品推荐

