Bei der Arbeit verwenden wir Oracle und C#/ASP.net, um die Website eines Kunden zu verwalten. Diese Website ist sehr groß, daher ist die Datenbanksehrgroß.
Wir verwenden Perforce für unsere Versionskontrolle und fügen bei jeder Datenbankänderung Skripts zum Erstellen oder Ersetzen an FogBugz-Fälle an, was bisher problemlos funktioniert hat, da wir jetzt an einem Punkt sind, an dem fünf Entwickler an fünf Erweiterungen für das System arbeiten, jeder an einem separaten Perforce-Zweig. Leider können wir aufgrund der Datenbankgröße keine doppelten Datenbanken erstellen, sodass jeder weiterhin mit derselben arbeitet. Dies ist offensichtlich eine Ursache für Probleme: Erst vor zehn Minuten hatten wir ein kleines Problem, bei dem eine Änderung einer gespeicherten Prozedur für einen Zweig auf den Pre-Production-Server übertragen wurde und eine große Anzahl von Abstürzen für die Tester verursachte. Idealerweise hätten wir gerne eine Möglichkeit, diese Änderungen zu verfolgen, ohne sie manuell über FogBugz verfolgen zu müssen.
Meine Frage ist: Wie gehen Sie mit dieser Situation um? Ich bin sicher, dass es inzwischen eine gute Möglichkeit gibt, die Versionierung oder zumindest die Nachverfolgung von Änderungen in einer Oracle-Datenbank zu handhaben.
Antwort1
11gR2 hat das Konzept der Edition für Code eingeführt, wenn ein Datenbank-Upgrade möglich ist.
Ist Ihr Datenschema dasselbe wie das Codeschema? Es kann sinnvoll sein, sie zu trennen. Auf diese Weise können Sie denselben Satz Datenbanktabellen, aber unterschiedliche Sätze Codeschemata haben. Dann kann ein Projekt ein Codeschema verwenden und ein anderes ein zweites Schema.
Solange Sie an einen einzigen Datensatz gebunden sind, gibt es Einschränkungen. Wenn ein Projekt einen einstelligen Wert erwartet, ein anderes ihn aber auf zwei Zeichen erweitert, können Sie mit Problemen rechnen.