Der beste Weg, Datenbankänderungen zu verwalten [geschlossen]

8

Wie können Datenbankänderungen am besten verwaltet werden? Ich brauche eine Lösung unabhängig von der Sprache des Datenbank-Clients. Außerdem möchte ich bestimmte Datenbankfunktionen in diesen Änderungen wie gespeicherte Prozeduren, Trigger usw. verwenden können.

    
Szymon Lipiński 09.02.2010, 19:32
quelle

6 Antworten

12

Stellen Sie zunächst sicher, dass Ihr gesamter Database Build Skript erstellt wurde, damit Sie die Datenbank bei Bedarf neu erstellen können.

Jede Änderung sollte dann als Update-Skript geschrieben werden. Auf diese Weise können Sie jede Änderung einzeln für Ihre Datenbanken ausführen.

Sobald die Änderung an die Codebasis übergeben wurde, füge das Änderungsskript mit dem Build-Prozess zusammen, so dass es automatisch geschieht ... und archiviere dann das Änderungsskript, falls irgendwelche Fragen auftauchen.

    
Justin Niessner 09.02.2010, 19:35
quelle
7

In erster Linie alle Datenbankänderungen in Skripts einfügen und sie in das Quellcodeverwaltungssystem einfügen.

Als nächstes entfernen Sie alle Berechtigungen für die Produktion, die Entwickler haben. Genau zwei Personen sollten Rechte an der Produktion in einem kleinen bis mittleren Geschäft, der designierten dba und ihrem oder ihrem designierten Stellvertreter haben. Sobald Devs keine Änderungen an prod vornehmen können, werden Sie es leichter finden, Skripte zu schreiben und zu verwenden.

Führen Sie niemals ein Skript auf prod aus, das nicht zuerst in QA oder Staging geladen wurde. Wenn es Probleme mit dem Skript gibt, sollte es an diesem Punkt gefunden werden.

    
HLGEM 09.02.2010 19:37
quelle
4

Verwende idempotent scripte ändern > (und vielleicht auch LiquiBase oder dbdeploy ).

    
Pascal Thivent 09.02.2010 19:53
quelle
1

Ich bin mir nicht sicher, was Sie hier fragen, aber wenn es eine gute Möglichkeit ist, Schemaänderungen zu verwalten und sie zwischen Versionen und Bereitstellungen synchron zu halten, ist es schwierig, mit Visual Studio Database Edition Fehler zu machen. Der einzige Zweck im Leben besteht darin, Datenbankschemaänderungen zu verwalten, das Schema zu validieren, Implementierungsskripts zu erstellen und zu generieren. Wenn Sie Visual Studio Developer Edition oder Visual Studio Team Suite haben, können Sie es kostenlos erhalten.

    
Randy Minder 09.02.2010 19:35
quelle
0

Nun, wir verwenden derzeit Redgates Toolbelt, der einen Datenbankvergleich, einen Datenvergleich usw. enthält.

Sie können auch jede Quellcodeverwaltung verwenden, um Änderungen an Ihren Datenbankobjekten zu verfolgen.

    
Allov 09.02.2010 19:34
quelle
0

In meinem Fall baue ich ein SH-Skript für diese Arbeit:

Ссылка

Und ein MySQL-Skript:

Ссылка

    
Eduardo Cuomo 04.04.2013 13:56
quelle