Я пытаюсь запустить тесты моего приложения Spring Boot, используя liquibase и h2 (в режиме mysql).Изменения в Liquibase специфичны для MySQL, поэтому я подумал, что тестирование с включенной liquibase и h2 в режиме MySQL поможет.
Проблема в том, что Liquibase не определяет базу данных как MySQL, а как H2.Поэтому при выполнении миграции он использует неправильные типы данных, например, CLOB вместо TEXT, что впоследствии приводит к сбою средства проверки гибернации.
Мне нужно знать, есть ли способ заставить liquibase использовать специфичные для MySQL миграции независимо от базы данныхприложение на самом деле подключается к.Не знаете, как liquibase вычисляет базу данных, но я предполагаю, что, возможно, используя имя драйвера или URL-адрес БД?
Если у кого-нибудь есть альтернативные решения, идеи, пожалуйста, предлагайте!
spring:
profiles:
active: test
datasource:
url: jdbc:h2:mem:ebdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MySQL
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
database-platform: org.hibernate.dialect.MySQL5Dialect
database: MYSQL
hibernate:
ddl-auto: validate
liquibase:
change-log: classpath:liquibase/liquibase-changeLog.xml
enabled: true