2016-02-18 13 views
6

Sto cercando un consiglio nel seguente caso.Best practice: Come modificare lo script di migrazione flyway dopo l'uso

Ho impostato gli script di migrazione e migrazione nel mio ambiente produttivo. Ad ogni implementazione il database verrà migrato alla versione corrente. Ho già creato diversi script di migrazione che sono stati applicati al database produttivo.

Recentemente ho aggiornato gli strumenti di sviluppo MySQL che ora includono avvertimenti sull'utilizzo di funzioni deprecate e altri avvisi. Questi avvisi non sono stati visualizzati nella vecchia versione. Ovviamente vorrei correggere gli avvertimenti, soprattutto nel caso in cui una versione futura del database non supporti più le funzioni deprecate. Ma le migrazioni contenenti gli avvertimenti sono già state distribuite e utilizzate. Se cambio uno degli script c'è un avviso flyway:

ERROR: Validate failed. Migration Checksum mismatch for migration 2.0 
-> Applied to database : 1778293504 
-> Resolved locally : 1831545539 

potrei cambiare il checksum che viene memorizzato nel database di migrare, ma che non suona come un modo "buono" per farlo. Qual è la modalità comune/procedura migliore per modificare uno script di migrazione dopo il è già stato utilizzato?

Grazie in anticipo!

Jens

risposta

10

La prima regola è no.

Il secondo è fare molto attentamente e utilizzare Flyway.repair() per riallineare i checksum nel DB con quelli sul disco.

+1

Ok, questo è quello che mi aspettavo: D Grazie per il vostro tempo e il suggerimento con "repair()"! – jdoose