¿Qué pasa con las secuencias de comandos de downgrade/migraciones hacia abajo?
Flyway NO es compatible con los scripts de downgrade.
Si bien la idea de los scripts de degradación (popularizados por Rails Migrations) es buena en teoría, desafortunadamente se rompe en la práctica. Tan pronto como tenga cambios destructivos (soltar, eliminar, truncar, ...), comenzará a tener problemas. E incluso si no lo hace, terminará creando alternativas caseras para restaurar copias de seguridad, que también deben probarse adecuadamente.
Los scripts de degradación suponen que no se pudo completar la migración.
Una migración puede fallar en cualquier momento. Si tiene 10 afirmaciones, es posible que el 1º, el 5º, el 7º o el 10º fallen. Simplemente no hay forma de saber de antemano. Los guiones de bajada se escriben para revertir una migración completa. Esto los hace inútiles, incluso para cambios no destructivos.
Mantiene la compatibilidad con versiones anteriores entre el DB y todas las versiones del código actualmente implementado en producción.
De esta forma, una migración fallida no es un desastre. La versión anterior de la aplicación todavía es compatible con la base de datos, por lo que puede simplemente retrotraer el código de la aplicación, investigar y tomar medidas correctivas.
Una solución mucho mejor es una estrategia adecuada y bien probada de copia de seguridad y restauración.
Es independiente de la estructura de la base de datos, y una vez probado y comprobado que funciona, ningún script de migración puede romperlo. Para un rendimiento óptimo, y si su infraestructura lo admite, recomendamos utilizar la tecnología de instantáneas de su solución de almacenamiento subyacente. Especialmente para volúmenes de datos más grandes, esto puede ser varios órdenes de magnitud más rápido que las copias de seguridad y restauraciones tradicionales.
DOH, yo esperaba algo bajo como: la forma de rollo de Rick :) – bestsss