Reputation: 1
I am trying to migrate a project from spring boot 2.0.0 to 2.3.0 with H2 database and Hibernate and I keep getting an error on bean creation for flywayInitializer:
2020-11-20 14:05:51.999 INFO 4632 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Starting...
2020-11-20 14:05:53.125 INFO 4632 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Start completed.
2020-11-20 14:05:53.157 INFO 4632 --- [ main] o.s.b.a.h.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:D:/Workspace/username/projectName_db/projectName_db'
2020-11-20 14:05:53.313 INFO 4632 --- [ main] w.s.s.SecurityFilterProviderCollection : using 'waffle.servlet.spi.NegotiateSecurityFilterProvider'
2020-11-20 14:05:53.453 INFO 4632 --- [ main] s.s.l.DefaultSpringSecurityContextSource : URL 'ldaps://0200P-CDC201.banst-s.banst-pt.int:636/', root DN is ''
2020-11-20 14:05:53.641 INFO 4632 --- [ main] o.s.b.w.s.RegistrationBean : Filter negotiateSecurityFilter was not registered (disabled)
2020-11-20 14:05:53.922 INFO 4632 --- [ main] o.f.c.i.l.VersionPrinter : Flyway Community Edition 6.4.1 by Redgate
2020-11-20 14:05:53.953 INFO 4632 --- [ main] o.f.c.i.d.DatabaseFactory : Database: jdbc:h2:D:/Workspace/username/projectName_db/projectName_db (H2 1.4)
2020-11-20 14:05:54.203 INFO 4632 --- [ main] o.f.c.i.c.DbMigrate : Current version of schema "FLAYWAY": 1.18.0
2020-11-20 14:05:54.219 WARN 4632 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: 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: Schema "FLAYWAY" contains a failed migration to version 1.18.0 !
2020-11-20 14:05:54.219 INFO 4632 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-11-20 14:05:54.266 INFO 4632 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Shutdown completed.
2020-11-20 14:05:54.282 INFO 4632 --- [ main] o.a.c.c.StandardService : Stopping service [Tomcat]
2020-11-20 14:05:54.297 INFO 4632 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-11-20 14:05:54.328 ERROR 4632 --- [ main] o.s.b.SpringApplication : Application run failed
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: Schema "FLAYWAY" contains a failed migration to version 1.18.0 !
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.2.6.RELEASE.jar:5.2.6.RELEASE]
Caused by: org.flywaydb.core.api.FlywayException: Schema "FLAYWAY" contains a failed migration to version 1.18.0 !
at org.flywaydb.core.internal.command.DbMigrate.migrateGroup(DbMigrate.java:227) ~[flyway-core-6.4.1.jar:?]
... 19 more
My application.yml has the following configurations
spring:
main:
banner-mode: "off"
allow-bean-definition-overriding: true
h2:
console:
enabled: true
settings:
web-allow-others: true
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
jpa:
hibernate:
ddl-auto: validate
database: default
show-sql: false
quartz:
job-store-type: memory
jdbc:
initialize-schema: never
flyway:
locations: "classpath:database/projectName/migrations/{vendor}/"
schemas: "FLAYWAY"
table: "schema_version"
baseline-on-migrate: true
validate-on-migrate: false
Does anyone know what I can I do in this case?
Upvotes: 0
Views: 4032
Reputation: 764
The error states that there is a failed migration:
Schema "FLAYWAY" contains a failed migration to version 1.18.0 !
Try deleting the failed entry and run again.
Or try to run:
mvn flyway:validate -Dflyway.configFile=myFlywayConfig.properties
to validate everything first.
Upvotes: 1