Моё весеннее загрузочное приложение использует H2 для своих тестов, и я также добавил плагин flyway maven и его зависимости (flyway-core и flyway-spring-test). Это мое application-test.properties:
spring.datasource.url=jdbc:h2:tcp://localhost/~/my_db
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=none
spring.flyway.user=sa
spring.flyway.password=
spring.flyway.schemas=PUBLIC
и мое application-prod.properties:
spring.datasource.url=jdbc:mysql://localhost/my_db
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=user
spring.datasource.password=pass
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=none
spring.flyway.user=${spring.datasource.username}
spring.flyway.password=${spring.datasource.password}
spring.flyway.schemas=my_db
, и у меня есть V1__desc.sql
в src/main/resources/db/migration
, который является каталогом по умолчанию для flyway , Я не получаю ошибок и исключений при запуске моей программы с использованием MySQL, и я вижу свои таблицы и flyway_schema_history
. Но я получаю это исключение при выполнении теста загрузки контекста по умолчанию при весенней загрузке:
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.api.FlywayException: Validate failed:
Detected failed migration to version 1 (my_db)
Я даже изменил местоположение своего пролетного пути на другое, но оно не изменилось. Может ли sb plz помочь?