Zum Inhalt springen

Datenbank-Migration beim Deployment

oder auch Datenbank-Migration

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 03.11.2026

Eine Datenbank-Migration beim Deployment ist die Änderung der Datenbankstruktur, die mit einem neuen Stand ausgeliefert wird. Sie steht als Datei im Repository und läuft als Schritt im Ausrollen.

Datenbank-Migration beim Deployment

Die Änderung der Datenbankstruktur, die mit einem neuen Stand ausgeliefert wird.
Beispiel: „Die Datenbank-Migration beim Deployment legte eine Spalte an und füllte sie in einem zweiten Schritt.“

Jede Migration trägt einen Zeitstempel im Dateinamen, und die Datenbank merkt sich, welche gelaufen sind. Daraus ergibt sich eine feste Reihenfolge, die auf jeder Umgebung gleich ist.

Abgrenzung zur Datenwanderung: Diese schiebt Inhalte von einem System ins andere. Hier geht es um die Struktur der Tabellen.

Wie eine Datenbank-Migration beim Deployment abläuft

Als eigener Schritt zwischen Bauen und Umschalten. Das Skript ruft die Migration ohne Rückfrage auf, die Datenbank führt die offenen Dateien in Reihenfolge aus, und erst danach zeigt der Verweis auf den neuen Stand.

Davor gehört eine Sicherung, die sich auch zurückholen lässt. Eine Migration ist der einzige Schritt im Ausrollen, den ein Rollback nicht mitnimmt, siehe Rollback.

Warum Migrationen abwärtskompatibel sein müssen

Weil der alte Code für Sekunden noch läuft. Während des Umschaltens greifen beide Stände auf dieselbe Datenbank zu; eine umbenannte oder gelöschte Spalte bricht in diesem Moment die laufende Website.

Deshalb wird in zwei Releases geändert: erst die neue Spalte anlegen und beide bedienen, nach dem Ausrollen die Daten übertragen, im nächsten Release die alte entfernen. Drei Schritte statt einem, dafür ohne Pause.

Was bei großen Tabellen zu beachten ist

Die Sperre. Eine Änderung an einer Tabelle mit Millionen Zeilen hält diese Tabelle unter Umständen minutenlang, und in dieser Zeit wartet jede Anfrage, die sie braucht; aus dem Ausrollen ohne Pause wird eine Pause.

Der Weg führt über Werkzeuge, die die Tabelle im Hintergrund umkopieren, oder über ein angekündigtes Fenster. Entschieden wird das vorher und nicht, wenn die Website steht, siehe Wartungsfenster.

Siehe auch:

Zero Downtime Deployment

Ein Deployment, bei dem die Website durchgehend erreichbar bleibt.

#Deployment & Versionierung

Deployment

Das Ausrollen eines neuen Stands auf den Server, auf dem die Website läuft.

#Deployment & Versionierung

Rollback

Das Zurückschalten auf den vorherigen Stand, wenn ein Deployment Schaden anrichtet.

#Deployment & Versionierung

Datenbank Server

Ein Server, der ausschließlich die Datenbank einer Anwendung betreibt.

#Hosting & Webserver

Backup-Strategie im CMS

Die Festlegung, was wie oft gesichert wird und wie es zurückkommt.

#Content-Management-Systeme (CMS)

Deploy-Skript

Die Abfolge von Befehlen, die ein Deployment ausführt, als Datei festgehalten.

#Deployment & Versionierung