Rollback-Erweiterung für Flyway Community Edition
(github.com/coder013)Warum wurde sie entwickelt?
- In ECS/EKS-Umgebungen ist ein Rollback der Anwendung möglich, aber Datenbankänderungen lassen sich nicht automatisch zurückrollen.
- Flyway unterstützt Rollbacks mit dem Befehl
undo, aber erst ab der Enterprise Edition; in der Community Edition ist das nicht verfügbar. - Für persönliche Projekte und kleine Teams, für die eine Enterprise-Lizenz zu kostspielig ist, wurde diese Erweiterung entwickelt.
Funktionsweise
- Analog zu Migrationen werden
R{version}__*.sql-Dateien unterdb/rollback/erstellt. - Beim Start der Anwendung werden die Skripte zwischen aktueller Version und Zielversion in umgekehrter Reihenfolge ausgeführt.
Hauptfunktionen
- Fail-fast-Vorabprüfung — Prüft vor der Ausführung, ob Rollback-Skripte vorhanden sind
- Einzelne Transaktion — garantiert All-or-Nothing
- Dry-Run-Modus — es kann nur der Ausführungsplan geloggt werden
- Rollback-Verlauf — protokolliert Logs in der Tabelle
flyway_rollback_history - Actuator-Endpunkt — unter
/actuator/flyway-rollbacklassen sich angewendete Versionen und verfügbare Skripte abrufen
Anforderungen
- Java 17+, Spring Boot 3.x
Da dies meine erste Open-Source-Bibliothek ist, gibt es sicher noch einiges zu verbessern. Ich freue mich über Erfahrungsberichte oder Vorschläge zur Weiterentwicklung. Vielen Dank!
Noch keine Kommentare.