Ich habe vor kurzem angefangen, mit Versionskontrolle in meiner Webentwicklung unter Verwendung von Subversion zu arbeiten. Dies funktioniert hervorragend für die Verwaltung der von mir entwickelten Dateien, hat jedoch nichts mit den Änderungen zu tun, die ich manchmal an den Datenbanken vornehmen muss. Meines Wissens verfügt der Server, an dem ich arbeite, über keine DB-Verwaltungssysteme, und ich würde sie wahrscheinlich nicht dazu bringen können, etwas zu installieren. Welche Optionen gibt es für die Verwaltung von DBs in einer solchen Umgebung?
database
version-control
Kenneth
quelle
quelle
Antworten:
K. Scott Allen hat vor einigen Jahren einige ausgezeichnete Blog-Beiträge darüber geschrieben. Sie mögen im Internet "alt" sein, aber seine Lösung ist immer noch sehr schön.
quelle
Migrationsframeworks sind Codebibliotheken, die eine einfache API zur Automatisierung von DB-Änderungen mit einem Mechanismus zur Versionierung der DB bereitstellen.
Ich benutze Migrator.Net für einige Projekte. Ich erstelle eine Klasse für jedes Änderungsset, und das Framework bietet eine einfache Möglichkeit, die Änderungen für eine Datenbank auszuführen. Ich kann Änderungen auch vorwärts und rückwärts ausführen, vorausgesetzt, ich codiere die Logik für das Downgrade sowie das Upgrade.
Anschließend verwalten wir den Migrationscode in unserem VCS wie jeden anderen Code.
quelle
Natürlich nächtliche Backups (zumindest). Weil es nicht nur die DB-Struktur ist, die Sie interessiert.
Sie haben mehrere Möglichkeiten:
1) Behalten Sie Ihre Änderungsskripte in der Quellcodeverwaltung.
2) Generieren Sie nach jeder Datenbankänderung die Datenbank-Skripte. Speichern Sie diese gleichzeitig in der Quellcodeverwaltung zusammen mit einer DB-Sicherung. Auf diese Weise können Sie die generierte Skriptdatei vergleichen.
quelle