Rollback ist nicht immer `undo`
In Datenbanksystemen ist ein technischer Rollback oft riskanter als ein Forward-Fix. Besonders gefährlich sind Migrationen, die Daten löschen oder transformieren.
Drei Strategien
| Strategie | Wann sinnvoll |
|---|---|
| Restore | Datenbankzustand komplett beschädigt oder Datenverlust |
| Forward-Fix | Schemafehler ohne massiven Datenverlust |
| Kompatibilitätsmigration | Zero-Downtime und schrittweise Releases |
Expand/Contract Pattern
Release A: neue Spalte hinzufügen
Release B: Anwendung schreibt alte und neue Spalte
Release C: Daten migrieren
Release D: Anwendung liest nur neue Spalte
Release E: alte Spalte entfernen
Produktionsregel
Löschende Migrationen niemals im selben Release wie die Umstellung der Anwendung durchführen.