Migration scripts throw validation errors on mysql

The migration scripts throw validation errors:

Starting Liquibase at 11:55:21 (version 4.3.5 #62 built at 2021-04-29 18:31+0000)

...
[2021-11-06 11:55:23] INFO [liquibase.lockservice] Successfully released change log lock
Unexpected error running Liquibase: Validation Failed:
     18 changes have validation failures
          columnDataType is required for renameColumn on mysql, com/haulmont/cuba/liquibase/changelog/002-migrate-security.xml::10::migrator
          columnDataType is required for renameColumn on mysql, com/haulmont/cuba/liquibase/changelog/003-migrate-audit.xml::50::migrator
          columnDataType is required for renameColumn on mysql, com/haulmont/cuba/liquibase/changelog/003-migrate-audit.xml::50::migrator
...

According to the documentation of Liquibase (renameColumn | Liquibase Docs) the renameColumn command requires the attribute columnDataType on mariadb and mysql databases.

Is this problem acknowledged?

And because I’m curious: what types of databases did you test the migration scripts on?

I updated those files to make them work:

002-migrate-security.xml (4.6 KB)
003-migrate-audit.xml (3.1 KB)
003-migrate-ui-data.xml (2.6 KB)

Thank you very much, we’ll include it in the next update.

Regards,
Konstantin

1 Like

As I fixed the migration scripts, I had to use a different liquibase context:

jmix.liquibase.contexts=cuba,migrated,mycubamigration

That’s probably the cause, that everytime I start Jmix, this dialog pops up:
image

Any way to stop that? If I click on execute and proceed, there’s nothing to do, because therer are no changeset that will run in these files.

Created ticket: https://youtrack.jmix.io/issue/JST-2369

Meanwhile, you can disable automatic check if you remove this step from the run/debug configuration:

image

1 Like