Every time I change something from DB structure I create a new migration file using timestamp to execute in order, with a clean database the migrate command (with maven plugin or command-line tool) it works perfectly, but in a production database, with the same DB structure but with data added I got this error:
Failed to execute goal org.flywaydb:flyway-maven-plugin:3.2.1:migrate (main) on project eee-ejb: org.flywaydb.core.api.FlywayException: Validate failed. Migration Checksum mismatch for migration 1430224929 [ERROR] -> Applied to database : -1639634536 [ERROR] -> Resolved locally : -1412099238
How can I use flyway in a production database where data is constantly added?
This has nothing to do with data being added. It is the migration script itself that is being modified. One place to check is Git CRLF normalization issues.
Update: Flyway 4.0 now automatically takes care of this.
The script that was originally ran is now changed. If you are sure that the change is what you'd wanted, run
This will accept the change, update the metadata table and you will not get the error.