Wie kann ich meine Datenbank in dem kontinuierlichen Integrationsprozess einzubeziehen?

StackOverflow https://stackoverflow.com/questions/1361010

  •  20-09-2019
  •  | 
  •  

Frage

Bitte entschuldigen Sie mich, heute ist mein erster Tag Setup versucht, eine CI-Umgebung mit Teamcity. Ich bin ein ASP.NET/Sql Server App zu entwickeln und so weit so gut. MSBuild ist mein Provider.

würde Ich mag wissen, was die Optionen sind, wenn es darum geht, dass Änderungen an meiner lokalen Datenbank automatisch zu machen sind mit dem Test-Server als Teil des Integrationsprozesses hochgeladen. Jetzt bin ich nicht sicher, mag ich in Richtung DBGhost automatisch synchronisieren Schemaänderungen gehen, würde ich glücklich sein, nur mit einer Kopie meiner lokalen Datenbank, um die Datenbank auf dem Testserver zu ersetzen.

Was sind meine Optionen hier?

edit: weitere Untersuchung zeigt die RedGate SQL Produkte sind gut für diese. Sie Arent billig though. Sie haben eine schöne White Paper auf ihre Produkte in einem kontinuierlichen Integrationsprozess mit: http: // Downloads .red-gate.com / HelpPDF / ContinuousIntegrationForDatabasesUsingRedGateSQLTools.pdf

War es hilfreich?

Lösung

Zunächst einmal denke ich, dass Ihre Datenbank sollte in Ihrer Source-Control-Strategie einbezogen werden. Grundlagen dieses Ziel zu erreichen wurden aufsummiert schön in K. Scott Alle Serie . Sie können auch überprüfen Evolutionary Datenbank-Design von Martin Fowler . Und für mehr praktische Informationen finden Sie die Antworten auf Wie sollten Sie bauen Ihre Datenbank aus der Quellcodeverwaltung? .

schrieb Als ich in meine Antwort , ich halten zwei Sätze von Skripten: ein Satz, der die Datenbank von Grund auf neu zu bauen, und eine, die eine bestimmte Datenbank von einer Version zur letzten upgraden. Im Rahmen einer CI-Strategie:

  • Die Datenbank auf dem CI-Server sollte von Grund auf mit dieser Skripte wieder aufgebaut werden. Anschließend können Sie überprüfen, ob Ihre Skripte in einwandfreiem Zustand sind.
  • In einer perfekten Welt, sollte ich in der Lage sein, ein Upgrade von Version N-1 auf Version N der Datenbank, und vergleichen Sie das erhaltene Schema das Schema der vorherigen Datenbank auszuführen. Ich arbeite immer noch daran ...
  • Testdaten sollten in der Datenbank eingespritzt werden, so dass für Unit-Tests Ihrer Anwendung ausgeführt werden (man kann Verwendung bcp für diese).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top