我有一些更改日志文件,当我尝试为它们生成sql文件时,我得到: 的 ValidationFailedException
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
13 change sets check sum
db-changelogs/test1.xml::test-1::rw is now: 7:d41d8cd98f00b204e9800998ecf8427e
问题是我没有在这些文件中进行任何更改。我的同事在同一个git分支上工作,它非常适合他们。
我已经检查了textCoding和其他一些东西,但它仍然无法正常工作。 我用ant脚本运行它。
我的数据库更改日志(new-db-changelog.xml):
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<include file="db-changelogs/testl.xml"/>
</databaseChangeLog>
更改日志(test1.xml):
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<changeSet id="test-1" author="rem" >
<ext:sqlWrapper context="common-schema">
<![CDATA[
CREATE TABLE common.test(
id bigint NOT NULL,
"name" character varying,
CONSTRAINT test_lb_pkey PRIMARY KEY (id)
);
]]>
</ext:sqlWrapper>
</changeSet>
</databaseChangeLog>
答案 0 :(得分:0)
我们刚刚发现3.1.1似乎在计算校验和时会对空格产生影响。我们对纯SQL进行了一些更改,我碰巧从空格重新格式化为制表符,并且校验和已更改。
可能是这种情况吗?
答案 1 :(得分:0)
添加属性runOnChange="true"
<changeSet id="test-1" author="rem" runOnChange="true">