Wir suchen eine kostenlose / Open Source Lösung (evtl. die sich in Visual Studio 2008 integrieren läßt), die bei der Datenbank-Anwendungserstellung (MS-SQL Express) unser Daten-Schema und auch die Daten in SVN abspeichern kann.
Im Moment nutzen wir das Bundle von xSQL. Dieses generiert entsprechende Scripts, aber wir müssen immer eine Referenz-Datenbank vorhalten und komplexe Abläufe einhalten, damit es dann auch "funktioniert".
Wäre toll, wenn es schon eine "fertig" Lösung für dieses, ich denke sehr gänge Entwickler-Szenario, gibt.
Nicht unbedingt immer sofort wenn sich die DB ändert - aber spätestens dann, wenn wir sagen "CheckIn" oder so, dann sollen alle Änderungen im Vergleich zur verherigen Version ermittelt und gespeichert werden - SVN halt
Das ist ein Visual Studio Plugin, es überwacht alle Dateien die im SVN eingecheckt sind. Das einzige was du machen müsstest, ist die DB dem Projekt zuzuordnen sofern das nicht eh schon getan ist.
Das Plugin erkennt automatisch jede Datei im Projektverzeichnis die im SVN ist und sich ändert. Im Projektexplorer werden dafür auch kleine Symbole angezeigt. Das Plugin fügt ein neues Fenster hinzu "Pending changes". Dort werden alle Dateien aufgelistet, die sich seit dem letzten commit geändert haben.
Du musst dann nur den Button "Commit" drücken und der Rest passiert automatisch. Ich benutze das Plugin schon länger und möchte es nie nie mehr missen, es funktioniert perfekt.
das sieht schon mal nicht schlecht aus. AnkhSVN benutzen wir schon eine lange Zeit und sind auch sehr zufrieden. Nur wie werden die Scripte erzeugt? Muss ich die per Hand machen?
Und wie sieht es aus, wenn wir die Datenbank direkt ändern (Spalte/Tabelle hinzufügen/löschen) - wie bekommt AnkhSVN das mit?
Was für Scripte meinst du? Insert Scripte? Oder meinst du Scripte die dir die Datenbankstruktur erstellen (Tabellen mit Feldern anlegen, etc)
Ankh Svn bekommt die Änderungen mit egal mit welchem Programm sie getätigt wurden. Anhand von Referenzen aus dem lokalen Ordner ".svn" (Immer im Ordner des Repositories, Versteckt) sowie Zeitstempel der Dateien ist es für die Codeverwaltung kein Problem Änderungen zu erkennen ;)
Aus meiner eigenen Erfahrung kann ich Dir leider kein Opensource-Tool empfehlen. SVN selber speichert ja nur das Backup oder ein Snapshot der Datenbank. Änderungen an Tabellen, Stored Procedures etc. werden nicht automatisch festgehalten.
Hierfür würde ich Dir die Tools von RedGate ans Herz legen. Die bieten speziell für Deine Zwecke auch ein Sourcecontrol-Tool für SQL-Datenbanken an: SQL Source Control 2.2
OK - vielleicht stell ich mich auch grad wieder mal "blöd" an (liegt bestimmt an der Hitze): Ich hab eine Anwendung die auf eine Datenbank zugreift. Der habe ich nun ein "Datenbankprojekt" hinzugefügt. Dazu wird nach einem Verweis gefragt, den ich dann auch angegeben habe.
Ist dass die richtige Projektart? Es gibt ja noch die "SQL-Server Projekt"