Flyway fungerer fantastisk til kontinuerlig levering/implementering. Mange kunder bruger det på tværs af alle miljøer, inklusive produktion.
Det allervigtigste for kaskadende DB-migrering på tværs af miljøer er at have en 3-trins proces:
Trin 1
Gammel applikationskode fungerer sammen med gammel DB.
Trin 2
Ny applikationskode bliver implementeret og migrerer DB ved opstart. Denne migrering skal være bagudkompatibel, så den gamle applikationskode stadig fungerer med den nye DB. Dette er vigtigt, fordi:
- du kan derefter lave rullende opgraderinger, opgradere én node ad gangen, indtil alle noder har den nye applikationskode
- rulle straks tilbage til den gamle programkode, hvis den nye er ødelagt
Dette trin kan involvere kompatibilitetsvisninger og triggere til at udføre jobbet.
Trin 3
Efter at ændringerne har vist sig at virke, implementeres den næste version af applikationskoden sammen med de nødvendige DB-migreringer for at kassere eventuelle resterende forældede (fra trin 1) og kompatibilitetsstrukturer (fra trin 2).