Since liquibase 4.27 (for MariaDB 10.10.6+) and liquibase 4.27 (for MariaDB 10.7+) specifying uuid type in changelog.xml leads to generation of another column type: uuid instead of char(36).
At the same time the behaviour did not changed for MySQL: uuid in changelog.xml generates char(36) column.
This change is incompatible with io.jmix.eclipselink.impl.dbms.String32UuidConverter which selected for MySQL and MariaDB in io.jmix.eclipselink.impl.dbms.JmixMySQLPlatform#getUuidConverter.
Task
Considering that Liquibase now generates UUID columns for MariaDB and MySQL in different ways, we need to add support for MariaDBPlatform and process UUID columns accordingly or generate another column type as for Oracle.
Environment
Jmix version: 2.4.0
Steps To Reproduce
Current Behavior
https://github.com/jmix-framework/jmix/issues/70#issuecomment-2483085690 - MySQL (irrelevant, see https://github.com/jmix-framework/jmix/issues/3888#issuecomment-2485168443)
https://github.com/jmix-framework/jmix/issues/70#issuecomment-2484792614 - MariaDB
Workaround
Downgrade Liquibase version to 4.25
Cause
Spring 3.3.5 depends on liquibase 4.27.
Since liquibase 4.27 (for MariaDB 10.10.6+) and liquibase 4.27 (for MariaDB 10.7+) specifying
uuid
type inchangelog.xml
leads to generation of another column type:uuid
instead ofchar(36)
.At the same time the behaviour did not changed for MySQL:
uuid
inchangelog.xml
generateschar(36)
column.This change is incompatible with
io.jmix.eclipselink.impl.dbms.String32UuidConverter
which selected for MySQL and MariaDB inio.jmix.eclipselink.impl.dbms.JmixMySQLPlatform#getUuidConverter
.Task
Considering that Liquibase now generates UUID columns for MariaDB and MySQL in different ways, we need to add support for MariaDBPlatform and process UUID columns accordingly or generate another column type as for Oracle.