O Flyway funciona muito bem para entrega/implantação contínua. Muitos clientes o utilizam em todos os ambientes, incluindo produção.
A coisa mais importante para migrações de banco de dados em cascata entre ambientes é ter um processo de 3 etapas:
Etapa 1
O código do aplicativo antigo funciona em conjunto com o banco de dados antigo.
Etapa 2
O novo código do aplicativo é implantado e migra o banco de dados na inicialização. Essa migração deve ser compatível com versões anteriores para que o código do aplicativo antigo ainda funcione com o novo banco de dados. Isso é essencial porque:
- você pode fazer atualizações contínuas, atualizando um nó por vez até que todos os nós tenham o novo código do aplicativo
- reverter imediatamente para o código do aplicativo antigo se o novo estiver corrompido
Essa etapa pode envolver exibições de compatibilidade e gatilhos para fazer o trabalho.
Etapa 3
Depois que as alterações forem comprovadas como funcionais, a próxima versão do código do aplicativo será implantada junto com as migrações de banco de dados necessárias para descartar quaisquer estruturas desatualizadas (da etapa 1) e de compatibilidade (da etapa 2) restantes.