EMZETT.
Login

Datenbank-Migration

Kurz: Eine Migration ist eine versionierte Änderung am Aufbau einer Datenbank (neue Tabelle, neue Spalte, Index), die automatisch und nachvollziehbar eingespielt wird.

Genauer: Jede Änderung steht in einer nummerierten Datei. Ein Werkzeug merkt sich, welche Migrationen schon gelaufen sind, und führt nur neue aus. So haben Entwicklung, Test und Produktion denselben Stand.

Im Detail

  • Rückwärtskompatibel: Neue Spalten zuerst optional anlegen, Code anpassen, erst später Altes entfernen.
  • Große Tabellen: Änderungen können lange sperren. Besser in kleinen Schritten oder online.
  • Sichern: Vor riskanten Migrationen Backup.
  • Idempotent schreiben: CREATE TABLE IF NOT EXISTS und ADD COLUMN IF NOT EXISTS erlauben mehrfaches Ausführen.
  • Werkzeuge: Drizzle, Prisma, Flyway, Liquibase, Alembic.

Siehe auch: Blue-Green- und Canary-Deployment, Datenbank-Transaktionen und ACID