Zusammenführen von Datenbankschemas

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Vergleichen von Datenbankschemas >

Zusammenführen von Datenbankschemas

Nach Ausführung eines Schemavergleichs zwischen zwei Datenbankschemas (dem "linken" und dem "rechten") können die Tabellenunterschiede zwischen den beiden Datenbanken synchronisiert (zusammengeführt) werden. Da sich dieser Vorgang auf die Struktur der Datenbank auswirkt, wird er nicht direkt angewendet. DatabaseSpy generiert stattdessen ein Merge Script, das Änderungen entweder von der "linken" Datenbank in die "rechte" übertragen kann oder umgekehrt von der "rechten" in die "linke".

 

Anmerkung:Mit dem Merge Script werden nur Unterschiede synchronisiert, die sich aus dem Strukturvergleich von Tabellen ergeben (dazu gehören Änderungen an Spalten, Schlüsseln oder Constraints). Eine Zusammenführung von Unterschieden zwischen Objekttypen (wie gespeicherten Prozeduren, Funktionen und Ansichten) wird nicht unterstützt.

 

Nachdem das Merge Script generiert wurde, können sie es entweder direkt in DatabaseSpy ausführen  oder für die spätere Ausführung in einer Datei speichern.

 

Bevor Sie das Merge Script an der Datenbank ausführen, sollte es immer überprüft werden. Wenn zahlreiche strukturelle Änderungen zwischen den Datenbanken vorgenommen werden müssen, ist auch das generierte Merge Script sehr umfangreich. Um eine potenziell riskante Aktualisierung mehrerer Objekte in der Zieldatenbank mit Hilfe eines großen Skripts zu vermeiden, könnten Sie kleinere Skripts generieren und diese der Reihe nach ausführen. So können Sie z.B. bestimmte Objekte (Spalten, Constraints), die in der Zusammenführung inkludiert werden sollen, auswählen und das Skript anschließend nur für die ausgewählten Objekte generieren.

 

 

So generieren Sie ein Merge Script und führen es aus:

1.Führen Sie einen Datenbankschemavergleich aus (siehe Ausführen eines Datenbankschemavergleichs).
2.Wenn Sie nur bestimmte Elemente zusammenführen möchten, haben Sie die Möglichkeit diese in einer Komponente mit Strg+Klick auszuwählen. Beachten Sie, dass es keinen Einfluss auf die Richtung der Zusammenführung hat, ob Sie die Elemente in der linken oder rechten Komponente auswählen (Sie können z.B. Elemente in der rechten Komponente auswählen und die Zusammenführung trotzdem von links nach rechts durchführen).

 

Wichtiger Hinweise: Child-Elemente einer Tabelle oder Spalte werden bei der Zusammenführung nicht automatisch berücksichtigt, wenn Sie nur das übergeordnete Objekt auswählen. Stellen Sie daher bei Auswahl eines übergeordneten Objekts (z.B. einer Tabelle) sicher, dass Sie auch alle Child-Objekte, die zusammengeführt werden sollen (z.B. Spalten oder Constraints), auswählen. Wenn z.B. der Spaltenname gleich ist, der Datentyp aber ein anderer (wie in der Abb. unten), müssen Sie den Datentypeintrag auswählen, damit ein gültiges Merge Script erstellt wird.

diff_select-child

 

3.Wählen Sie eine der folgenden Methoden:

 

Klicken Sie im Menü Schemavergleich auf Merge Script anzeigen: Links nach rechts.
Klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie im Kontextmenü den Befehl Merge Script anzeigen: Links nach rechts.
Klicken Sie auf die Symbolleisten-Schaltfläche Markierte von links nach rechts zusammenführen ic_merge-selected-left2right .

Bei den oben gewählten Befehlen wird eine Zusammenführung der Datenbankstruktur von links nach rechts angenommen. Verwenden Sie andernfalls die entsprechenden umgekehrten Befehle (rechts nach links).

 

4.Überprüfen Sie das Merge Script und bearbeiten Sie es gegebenenfalls und klicken Sie auf die Schaltfläche Ausführen ic_execute-sql, um die Schemas tatsächlich zusammenzuführen.

© 2019 Altova GmbH