Uploaded image for project: 'Liquibase Core'
  1. CORE-3401

Change set Ids are validated for uniqueness case sensitive, but when processing them the ids are case insensitive.

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects versions: 3.6.3
    • Fix versions: None
    • Components: Checkum Logic
    • Environment:

      Windows 10
      Docker - Alpine Linux
      MSSQL - Case Insensitive Collation

    • Sprint:

      Description

      When you run liquibase with the attached change set (test-dup-keys.xml), everything works fine.
      However when you run liquibase on the same database, with the same change set and the update command, you will get a checksum error saying the checksum has chenaged:

      Unexpected error running Liquibase: Validation Failed:
      1 change sets check sum
      d:/TEST/test-dup-keys.xml::NonUniqueId::jvandervelden was: 7:0182257060b84daa61bd68a38b559098 but is now: 7:1d4c704ec5fb4ff0fbf4680bf6ba7c03

      From what I can tell this is because it is comparing "NonUniqueId" with "nONuNIQUEiD"'s checksum instead of its own.

      If you update either of the ids in the change set file to something unique, it creates and updates fine.

      If you set the id's to both be the same case you get the expected validation error:

      Unexpected error running Liquibase: Validation Failed:
      1 change sets had duplicate identifiers
      d:/TEST/test-dup-keys.xml::NonUniqueId::jvandervelden

        Attachments

          Activity

            People

            • Reporter:
              jasper.vv Jasper Vander Velden
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: