LiquiBase ValidationFailedException。校验和无故改变

时间:2014-12-08 14:30:32

标签: liquibase

我有一些更改日志文件,当我尝试为它们生成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>

2 个答案:

答案 0 :(得分:0)

我们刚刚发现3.1.1似乎在计算校验和时会对空格产生影响。我们对纯SQL进行了一些更改,我碰巧从空格重新格式化为制表符,并且校验和已更改。

可能是这种情况吗?

答案 1 :(得分:0)

添加属性runOnChange="true"

<changeSet id="test-1" author="rem" runOnChange="true">