Extension de rollback pour Flyway Community Edition
(github.com/coder013)Pourquoi l’avoir créé
- Dans les environnements ECS/EKS, le rollback de l’application est possible, mais les modifications de base de données ne peuvent pas être annulées automatiquement.
- Flyway prend en charge le rollback via la commande
undo, mais cela n’est disponible qu’à partir de l’édition Enterprise, et n’est pas accessible dans la Community Edition. - J’ai développé cette extension pour les projets personnels et petites équipes pour lesquels une licence Enterprise représente une charge trop importante.
Mode de fonctionnement
- Écrire des fichiers
R{version}__*.sqldansdb/rollback/, selon le même principe que les migrations - Au démarrage de l’application, exécuter en ordre inverse les scripts situés entre la version actuelle et la version cible
Fonctionnalités principales
- Validation préalable fail-fast — vérifie avant exécution si les scripts de rollback existent
- Transaction unique — garantit le principe du all-or-nothing
- Mode dry-run — permet de journaliser uniquement le plan d’exécution
- Historique des rollbacks — enregistre les logs dans la table
flyway_rollback_history - Endpoint Actuator — permet de consulter les versions appliquées et les scripts disponibles via
/actuator/flyway-rollback
Prérequis
- Java 17+, Spring Boot 3.x
Comme il s’agit de la toute première bibliothèque open source que j’ai développée, il peut encore y avoir des points à améliorer. N’hésitez pas à partager vos retours d’usage ou vos propositions d’amélioration. Merci !
Aucun commentaire pour le moment.