Ich würde nur die Änderungsskripten für die
DB versionieren. Man muß halt einmal einen Stand festlegen, ab dem das dann greift und ab dann muß jeder Entwickler seien Änderungen an der
DB als (wiederholt ausführbares!) Skript erstellen und dieses in die Versionsverwaltung einspielen.
Wird eine neue Version erstellt, dann werden alle diese Skripten zu einem einzigen zusammengefaßt (wegen Performance bei mehrfachen Änderungen an ein und der selben Procedure) und dieses gegen eine Referenzdatenbank mit dem alten Stand laufen gelassen.
Achtet auf das wiederholt ausführbar: das Einzel-Skript muß erkennen, ob es schon einmal gegen die
DB gelaufen ist und darf bei erneutem Aufruf nichts tun. Hintergrund: es gibt nichts Ekelhafteres, als wenn ein Teil der Skripten schon gelaufen ist und dann z.B. die Verbindung zur
DB abgebrochen ist, so daß ein inkonsistenter Stand existiert. Bei großen Änderungen wird es dann extrem aufwendig, hereauszufinden, was schon da ist und was nicht und welches Teilskript man nochmal laufen lassen muß.
Auch für neue Stammdaten: diese ebenfalls nur per Skript erstellen und dieses in die Versionsverwaltung einpflegen.