Welche Methoden zur Versionskontrolle helfen Teams, Änderungen am Datenbankschema zu verfolgen?
mysql
version-control
schema
Toby
quelle
quelle
Antworten:
Vor ein paar Minuten habe ich Folgendes überprüft: Eine Tabelle, die in allen Projekten mit einer Datenbank vorhanden sein sollte , scheint einfach genug zu sein, um sie in die Praxis umzusetzen.
quelle
Ich denke, die beste Methode ist, die Datenbank als Teil Ihres Erstellungsprozesses generieren zu lassen . Behalten Sie alle Skripte mit dem Rest des Codes in der Quellcodeverwaltung, und jeder ist für seine eigene Umgebung verantwortlich.
Gelingt das nicht , hat RedGate ein Werkzeug Quellcodeverwaltung in SSMS zu integrieren und SQL Vergleichen zum Vergleichen / Synchronisieren von MS SQL Server - Schemas nützlich ist. Visual Studio Database Edition verfügt auch über ein integriertes Tool zum Vergleichen von Schemata .
Eine weitere SO-Frage führte mich zu Migrator Dot Net, das ich in meiner reichlichen Freizeit untersuchen werde. Es sieht nach einer guten Methode aus, ist aber möglicherweise eine zeitaufwändigere Investition, als Sie bereit sind.
quelle
eiefai schon erwähnt Eine Tabelle, die in allen Projekten mit einer Datenbank existieren soll . Dies ist ein großartiger Blog-Beitrag, aber IMO ist nur ein Teil der Weg zu einer funktionierenden Lösung für die Datenbank-Revisionskontrolle. Ich denke, jeder Versuch, diese Frage in der realen Welt zu "beantworten", muss einige der anderen Informationen über VCS und Datenbanken berücksichtigen:
quelle
Ich denke, es gibt ein paar verschiedene Blickwinkel, um sich dieser Frage zu nähern. Ich glaube, der "Tool-First" -Winkel wird je nach Plattform und persönlicher Präferenz variieren. Beispiel: Ich verwende ein Datenbankprojekt in MS Visual Studio, bin mir aber nicht sicher, ob dies eine großartige Lösung für MySQL ist. Ich kenne auch Leute, die ihre Lieblingswerkzeuge von Redgate, Erwin, Embarcadero usw. verkaufen.
Es gibt auch einen "Prozess-zuerst" -Winkel für diese Frage, der (hoffentlich) in den folgenden Fragen auf dieser Site noch einmal aufgegriffen wird. Die Grundpfeiler in diesem Prozess sind die Versionskontrolle Ihres Schemas und die Verwaltung von Änderungen, sodass Sie Schemaänderungen von Version "x" auf Version "y" so gut wie bei Bedarf anwenden können.
Eine endgültige Antwort auf dieses Thema wird wie ein Buch aussehen. Es lohnt sich also, zunächst eines zu erwähnen: Redgate hat kürzlich ein kostenloses eBook mit dem Titel " Das Red Gate Handbuch zur teambasierten SQL Server-Entwicklung " veröffentlicht Es gibt viel zu diskutieren, es ist ein ziemlich guter Ort, um zu debattieren, IMO. Im Gegensatz zum Namen ist ein Großteil des Materials in diesem Buch allgemein genug, um auf jede Datenbank (nicht nur auf SQL Server) und auf jedes Tool-Set (nicht nur auf Redgate) angewendet zu werden. Wenn Sie das noch nicht gesehen haben, ist es auf jeden Fall einen Blick wert.
Schließlich lohnt es sich wahrscheinlich, die "Legacy-Antwort" von stackoverflow einzufügen .
quelle
SchemaCrawler ist mein Tool zum Erstellen einer Textdatei mit allen Datenbankschemaobjekten. Ich habe diese Textausgabe so gestaltet, dass sie sowohl für Menschen lesbar als auch für ähnliche Ausgaben von einem anderen Server differenzierbar ist.
In der Praxis habe ich festgestellt, dass die Ausgabe einer Textdatei des Datenbankschemas nützlich ist, wenn dies als Teil des Builds erfolgt. Auf diese Weise können Sie die Textdatei in Ihr Quellcodeverwaltungssystem einchecken und einen Versionsverlauf darüber erhalten, wie sich Ihr Schema im Laufe der Zeit entwickelt hat. SchemaCrawler soll dies auch über die Befehlszeile automatisieren.
quelle