Liquibase терпит неудачу на контрольных суммах - PullRequest
0 голосов
/ 18 февраля 2019

Mac OS 10.14.1 Mojave

Liquibase: 3.6.2

Spring boot: 2.1.2.RELEASE

Итак, у нас было приложение dropwizard, которое использовало liquibase,Мы перенесли это приложение в springboot, переместились по XML-файлу и запустили его.

Мы получили исключение oracle.jdbc.OracleDatabaseException: ORA-00955 при запуске нашего кода, так что очевидно, что liquibase былпытаясь запустить наш набор.

Мы посмотрели в таблицу DATABASECHANGELOG и увидели, что пути к файлу не совпадают, поэтому мы повторно синхронизировали все с помощью команды changelogSync, и она создала для нас новые записи с правильными именами файлов.

при повторном запуске кода мы все еще сталкиваемся с той же проблемой, он пытается запустить наш набор, когда у нас уже есть таблицы в базе данных:

oracle.jdbc.OracleDatabaseException: ORA-00955

При отладке мы можем увидеть следующее в журналах жидкости: он генерирует MD5 из нашего xml, затем генерирует 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

Сгенерированный chksum из нашего liquibasefile: 6655e2c8d7983a338d41895acba0b208

Сгенерированный chksum 076 550 * * * * * * 095 * 8501037 *

  • Во-первых, что такое префикс 8 в chksum в базе данных?
  • Почему он запускает chksum из базы данных в генераторе MD5 и генерирует новую chksum?97e4d04847a5754a05595ac8cdf76cd8

Что я делаю не так?

...