Extensión de Rollback para Flyway Community Edition
(github.com/coder013)Por qué se creó
- En entornos ECS/EKS es posible hacer rollback de la aplicación, pero los cambios en la base de datos no pueden revertirse automáticamente.
- Flyway soporta rollback con el comando
undo, pero está disponible a partir de Enterprise Edition y no se puede usar en Community Edition. - Esta extensión fue desarrollada para proyectos personales y equipos pequeños a los que se les dificulta pagar una licencia Enterprise.
Cómo funciona
- Igual que con las migraciones, se crean archivos
R{version}__*.sqlendb/rollback/ - Al iniciar la aplicación, se ejecutan en orden inverso los scripts entre la versión actual y la versión objetivo
Funciones principales
- Validación previa fail-fast — antes de ejecutar, verifica si existen los scripts de rollback
- Transacción única — garantiza all-or-nothing
- Modo dry-run — permite registrar solo el plan de ejecución
- Historial de rollback — registra logs en la tabla
flyway_rollback_history - Endpoint de Actuator — en
/actuator/flyway-rollbackse pueden consultar las versiones aplicadas y los scripts disponibles
Requisitos
- Java 17+, Spring Boot 3.x
Como es la primera librería de código abierto que desarrollo, puede que tenga varios puntos por mejorar. Si la usan, no duden en dejar comentarios o sugerencias de mejora. ¡Gracias!
Aún no hay comentarios.