【发布时间】:2016-08-01 12:22:03
【问题描述】:
Liquibase 提供了一个<validCheckSum> 标记,以便在我们想要modify an existing changeset 时指定一个新的校验和。
但是,此标记不是SQL-formatted changesets 的有效属性。有runOnChange,但不一样。
有什么方法可以实现吗?
基本上,我在变更集上犯了一个错误,我什至无法添加回滚命令,因为 liquibase 检测到校验和更改并吐出错误,所以我被卡住了。
编辑
我要更改的具体变更集是:
--liquibase formatted sql
--changeset myname:0
ALTER TABLE `customers`
CHANGE COLUMN `name` `firstName` VARCHAR(45) NULL;
--changeset myname:1
ALTER TABLE `customers`
ADD COLUMN `lastName` VARCHAR(45) NULL AFTER `firstName`;
我把它保存在一个文件changelog_1.05.sql 中。最后,我将该文件包含在我的changelog.xml 中:
<include file="changelog_1.05.sql" relativeToChangelogFile="true"/>
<validCheckSum>不能加,因为是SQL格式的文件,所以不能加xml标签。
【问题讨论】:
标签: liquibase rollback changeset