Continuous integration für Datenbank-änderungen
Möchte ich implementieren, die kontinuierliche integration, die für die Datenbank-änderungen. Ich möchte wissen, wie zu tun, und was sind die Aktivitäten, die wir zu tun haben, als Teil der CI für die db(zB: create db/execute scripts/xx).
CI: Jenkins
DB: die SQL Server -
Ich möchte nicht, dass irgendwelche Werkzeuge wie RedGate... Lassen Sie mich wissen Sie Ihre Gedanken.
Dank
- sqlblog.com/blogs/jamie_thomson/archive/2013/01/27/... ersetzen Sie Einfach TFS mit Jenkins.
- Mein Vorschlag wäre, eine Namenskonvention zu verwenden, und ein upgrader
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein nettes Werkzeug, das Sie verfolgen können, und pflegen Sie ändern, setzt der DB-schema ist Liquibase. Eine freundliche Apache-2.0-Lizenz, die mehrere Formate unterstützen, die für die Speicherung, die Veränderung setzt in Ihrem VCS, eine Möglichkeit zum generieren von HTML-Dokumentation mit einer Zusammenfassung der änderungen, und einige andere Merkmale machen dieses eine schöne Ergänzung. Ich bin derzeit mit diesem tool in mehreren Projekten sehr effektiv, gute Sachen...
Müssen um die Datenbank in die CI-Prozesse, müssen Sie verlassen sich auf die deployment-Automatisierung.
Die Automatisierung besteht aus zwei Phasen:
Generieren des Skript – und ich hoffe, Sie sind damit einverstanden, dass sollte nicht manuell durchgeführt werden.
Ausführung und Aufzeichnung des Skripts.
Die 1. phase ist kritisch, wenn Sie erzeugen falsche Skript und führen Sie es aus, Sie haben garbage-in-garbage-out.
Meiner Meinung nach der 1. phase setzt Voraus, dass ein baseline-bewusste Analyse, vergleichen der Quelle, zum Ziel, zur Grundlinie. Ein Basisplan ist eine Bezeichnung, die Sie hat, bevor Sie die änderungen gemacht und es hilft Ihnen, änderungen zu erkennen, die Sie bereitstellen möchten, auf änderungen zu schützen, das Ziel (zum Beispiel einen index, der Hinzugefügt wurde, um die Produktion für einen critical fix) und Konflikte, die Sie Zusammenführen möchten (zum Beispiel, eine Prozedur, die geändert wurde, in der Entwicklung und auch in der Produktion – andere Zeilen code)