Sono solo in fase di configurazione e flyway completamente la comprensione e sono entrato in questa situazione:Riprovare un flyway fallito migrazione
- Ho configurato con successo un nuovo progetto di lavorare con flyway.
- Ho migrato con successo un database di test dalla versione 0 alla 1.0.3.
- Impossibile eseguire la migrazione alla versione 1.0.4. (. Stavo cercando di aggiungere colonna che era già lì, nessun problema fino ad ora, il mio cattivo)
Tuttavia, una volta che ho fatto le modifiche necessarie allo script corrispondente per lavorare, flyway mantenuto mostrando questo messaggio:
Current schema version: 1.0.4
com.googlecode.flyway.core.migration.MigrationException: Migration to version 1.0.4 failed! Please restore backups and roll back database and code!
Dal momento che non volevo per ripristinare un dump completo e applicare di nuovo ogni migrazione, solo per fare uno script ALTER tABLE di lavorare, quello che ho finalmente fatto sono stati alcuni cambiamenti alla tabella 'SCHEMA_VERSION':
- 1 ° Ho cancellato la voce per vers ione 1.0.4
- secondo ho impostato il campo 'current_version' a 1 per la versione 1.0.3
- e quindi eseguito il flyway: migrate comando di nuovo
Dopo questo, la migrazione, infine, è stato applicato e mostrato il messaggio di successo, tuttavia non sono sicuro che questo sia l'approccio giusto per affrontare una situazione simile. Non sono sicuro che abbia il diritto di modificare da solo la tabella 'schema_version', poiché penso che dovrebbe essere modificata solo dal flyway stesso.
Così, dopo aver spiegato cosa è successo a me, la mia domanda sarebbe:
C'è un modo per 'tentativi' di applicare una migrazione non riuscita in flyway, senza modificare la tabella 'SCHEMA_VERSION' da solo?
Qualsiasi comando di cui non sono a conoscenza per eseguire questa operazione?
che coprono più o meno il mio dubbio , Grazie mille! – pablocmg
Cosa significa "Sei ancora responsabile della pulizia di qualsiasi altro effetto di una migrazione fallita". si intende? Intendo quali passi dovrei fare per ripulire una migrazione di creazione di tabelle fallita. –
Dipende dallo script di migrazione. Come se qualcosa lascia cadere, non lo farà cadere di nuovo con successo! – Piro