Я использую flyway
с моим SpringBoot
приложением. База данных MySQL
. Комментарии в скриптах flyway начинаются с #
.
Когда я пытаюсь написать тест H2
, он не может загрузить ApplicationContext с ошибкой.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException:
Migration V0_0_1__init.sql failed
-------------------------------------------------
SQL State : 42000
Error Code : 42000
Message : Syntax error in SQL statement "[*]# types
INSERT INTO `users`.`TYPES` (NAME) VALUES (""Bob"") "; SQL statement:
# Types
INSERT INTO `users`.`types` (name) VALUES ("Bob") [42000-199]
Location : db/migration/V0_0_1__init.sql (/myapp/target/classes/db/migration/V0_0_1__init.sql)
Line : 1
Statement : # Types
INSERT INTO `users`.`types` (name) VALUES ("Bob")
Из того, что я был в состоянии понять, H2
не обрабатывает строки, начинающиеся с #
, как комментарии, а MySQL
Есть ли способ заставить H2
рассматривать #
в сценариях SQL
как комментарии?
У меня даже установлен режим MySQL
в моем application-test.properties
, и тест с использованием h2-test
профиль.
spring.datasource.url=jdbc:h2:myapp;MODE=MySQL;INIT=CREATE SCHEMA IF NOT EXISTS myapp;