SQL-Skripte unter Subversion

8

Ich bin Bauingenieur und verantwortlich für unser Source-Control-Layout. Wir müssen eine Version aller Datenbankobjekte und auch Gruppenänderungen zusammen mit Rollback-Skripten für Push-Vorgänge in der Produktion aufbewahren. Wir haben Entwicklungs-, QS- und Produktionsumgebungen und es gibt verschiedene Versionen der Datenbankobjekte in jedem. Ein Bereich, in dem wir Probleme haben, ist die Erstellung von Tabellen gegen andere. Entwickler werden Änderungen einchecken, aber um die Datenbank neu zu erstellen, benötigen wir die Erstellungen. Irgendwelche Ideen würden geschätzt werden.

    
Jeremy E 05.06.2009, 19:42
quelle

4 Antworten

2

Dieser Artikel sollte die meisten wenn nicht alle Fragen beantworten

Ссылка

    
Jens Schauder 05.06.2009, 19:52
quelle
3

Ich bin ein großer Fan von Ссылка . Es ermöglicht Ihnen, Versionen Ihrer Datenbank zu verfolgen, einschließlich der Möglichkeit, Ihr Schema / Ihre Daten zu "aktualisieren" und "zurückzusetzen".

Sie haben eine nette XML-Syntax, die zur Unterstützung gängiger Refactorings, einschließlich derer, die in Ссылка

detailliert aufgeführt sind, gebrannt hat

Sie haben auch Eclipse-Plugins, um die Change-Skripte zu erstellen, und ant-Tasks für die Integration in Ihr Build.

Meine einzige Beschwerde ist, dass es Java-basiert ist und ich liebe es, Java auf meinem Build-Server für .NET-Projekte zu installieren. In diesem Fall habe ich gute Dinge über Ссылка gehört.

    
nikmd23 05.06.2009 19:58
quelle
1

Sie sollten prüfen, wie Frameworks wie Rails Migrationen handhaben

Ссылка

    
marcgg 05.06.2009 19:46
quelle
0

Ich kann Ihnen ein solches Szenario empfehlen:

  1. Dbunit für die Datenpopulation (z. B. Wörterbücher, Stammdaten und andere wichtige Datenbankinformationen)
  2. Liquibase von dbdeploy für das Refactoring von Datenbanken. In meinen Augen ist liquibase Refactoring-orientiertes Tool und dbdeploy - mehr prozessorientiert (dh Sie müssen mehr mit den Händen tun, aber es vereinfachen Entwicklung, Test und Produktion Unterstützung Prozess).

Wenn Ihr Unternehmen ORM verwendet, können Sie das Datenbankschema "diff" auf der Grundlage der ORM-Engine erstellen. Wenn Ihr Produkt mit verschiedenen Datenbanken arbeitet, haben Sie außerdem eine zusätzliche Komplexitätsebene. Leider hat mich weder dbdeploy noch liquiase für mehr Datenbankentwicklung / Refactroing.

    
FoxyBOA 06.06.2009 05:35
quelle

Tags und Links