Flyway funciona muy bien para la entrega/implementación continua. Muchos clientes lo utilizan en todos los entornos, incluida la producción.
Lo más importante para las migraciones de base de datos en cascada entre entornos es tener un proceso de 3 pasos:
El código de la aplicación anterior funciona junto con la base de datos anterior.
Paso 2
Se implementa un nuevo código de aplicación y se migra la base de datos al inicio. Esta migración debe ser compatible con versiones anteriores para que el código de la aplicación anterior aún funcione con la nueva base de datos. Esto es esencial porque:
- entonces puede realizar actualizaciones graduales, actualizando un nodo a la vez hasta que todos los nodos tengan el nuevo código de aplicación
- volver inmediatamente al código de la aplicación anterior si el nuevo está roto
Este paso puede incluir vistas de compatibilidad y disparadores para hacer el trabajo.
Paso 3
Una vez que se ha demostrado que los cambios funcionan, la siguiente versión del código de la aplicación se implementa junto con las migraciones de base de datos necesarias para descartar cualquier estructura obsoleta (del paso 1) y de compatibilidad (del paso 2).