1 points par coder013 18 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

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}__*.sql dans db/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.

Aucun commentaire pour le moment.