Liquibase的校验和失败

时间:2019-02-17 21:46:17

标签: java database spring-boot liquibase

Mac OS 10.14.1 Mojave

Liquibase:3.6.2

春季启动:2.1.2。发布

因此,我们有一个使用liquibase的dropwizard应用程序。我们将该应用程序移植到springboot并移至.xml文件并运行。

在运行我们的代码时,我们收到了一个 oracle.jdbc.OracleDatabaseException:ORA-00955 异常,因此显然liquibase试图运行我们的集合。

我们查看了DATABASECHANGELOG表,发现该文件的路径不匹配,因此我们通过运行changelogSync命令重新同步了所有内容,并为我们生成了具有正确文件名的新条目。

当再次运行代码时,我们仍然遇到相同的问题,当数据库中已经有表时,它将尝试运行我们的集合:

oracle.jdbc.OracleDatabaseException:ORA-00955

调试时,我们可以在liquibase日志中看到以下内容,它从xml中生成MD5,然后从数据库中已生成的MD5中生成MD5!?

2019-02-15 16:22:42.158 DEBUG 51968 --- [           main] liquibase.util.MD5Util                   : Computed checksum for createTable:[
columns=[
    [
        [
            nullable="false"
            primaryKey="true"
        ]
        name="LOAN_COLLECTION_ID"
        type="varchar(56)"
    ],
    [
        [
            nullable="false"
        ]
        name="ZIP_CODE"
        type="varchar(6)"
    ],
    [
        [
            nullable="true"
        ]
        name="BANK_NAME"
        type="varchar(56)"
    ],
  ... [truncated in log] as 6655e2c8d7983a338d41895acba0b208
  2019-02-15 16:22:42.160 DEBUG 51968 --- [           main] 
  liquibase.util.MD5Util                   : Computed checksum for 
  8:6655e2c8d7983a338d41895acba0b208: as 
  97e4d04847a5754a05595ac8cdf76cd8

我不明白的是以下内容:

来自数据库的chksum:8: 6655e2c8d7983a338d41895acba0b208

从我们的liquibase文件生成的chksum: 6655e2c8d7983a338d41895acba0b208

liquibase使用数据库中的一个生成新的chksum后,会生成一个新的chksum: 97e4d04847a5754a05595ac8cdf76cd8

  • 首先,数据库的chksum中的前缀8是什么?
  • 为什么它从MD5生成器中的数据库运行chksum并生成新的chksum? 97e4d04847a5754a05595ac8cdf76cd8

我在做什么错了?

0 个答案:

没有答案