Flyway работи чудесно за непрекъсната доставка/разгръщане. Много клиенти го използват във всички среди, включително производство.
Единственото най-важно нещо за каскадни миграции на DB между среди е да има процес от 3 стъпки:
Стъпка 1
Старият код на приложението работи заедно със старата база данни.
Стъпка 2
Новият код на приложението се внедрява и мигрира DB при стартиране. Тази миграция трябва да бъде обратно съвместима, така че старият код на приложението да работи с новата база данни. Това е важно, защото:
- след това можете да извършвате непрекъснати надстройки, надграждайки един възел наведнъж, докато всички възли имат новия код на приложението
- незабавно връщане към стария код на приложението, ако новият е повреден
Тази стъпка може да включва изгледи за съвместимост и задействания за извършване на работата.
Стъпка 3
След като е доказано, че промените работят, следващата версия на кода на приложението се внедрява заедно с необходимите миграции на DB, за да се отхвърлят всички останали остарели (от стъпка 1) и структури за съвместимост (от стъпка 2).