Detected resolved migration not applied to database on flyway
The migration option outOfOrder
is your friend here. Set it to true to allow inserting those migrations after the fact.
On the command line, run:
flyway -outOfOrder=true migrate
Or if you use the Maven plugin:
mvn -Dflyway.outOfOrder=true flyway:migrate
You can also put it in your application.properties
file if you want to apply the migrations when starting up the app:
spring.flyway.out-of-order=true
I faced similar problem when switching from one git branch to another and tried to run
flyway:migrate
.
For example when I was on branch 'release_4.6.0' I didn't have migrations on my local machine from branch 'release_4.7.0' so
I received next error
FlywayException: Validate failed: Detected applied migration not resolved locally
.
The solution that worked for me is to set ignoreMissingMigrations
flyway option to true.
In maven it looks like
flyway:migrate -Dflyway.ignoreMissingMigrations=true
Maybe it's not an answer for this question, but it can be helpful for those who faced the same problem as me.
Here you can find more details: https://flywaydb.org/documentation/configuration/parameters/ignoreMissingMigrations
just add spring.flyway.ignore-missing-migrations=true
to your properties file if you are using spring-boot.
This will ignore previous migrations.