Datenbank aktualisieren
Mit dem database upgrade
Befehl wird eine bestehende VCDB v5
Instanz auf die Version der SQL-Skripte aktualisiert,
die mit vcdb-tool
mitgeliefert werden.
|
Optionen
Der database upgrade
Befehl erbt globale Optionen vom Hauptbefehl vcdb
sowie
Skriptoptionen von seinem übergeordneten database
Befehl. Zusätzlich stellt
er Optionen zum Aktualisieren einer VCDB-Instanz bereit.
Globale Optionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Eine oder mehrere Argumentdateien mit Optionen. |
|
|
Hilfenachricht anzeigen und beenden. |
|
|
Versionsinformationen ausgeben und beenden. |
|
|
Konfiguration aus dieser Datei laden. |
|
|
Log-Level: |
|
|
Log-Nachrichten in diese Datei schreiben. |
|
|
Deaktiviert Log-Nachrichten auf der Konsole. |
|
|
Datei mit der Prozess-ID erstellen. |
|
|
Plugins aus diesem Verzeichnis laden. |
|
|
Plugins mit passendem vollqualifiziertem Klassennamen aktivieren oder deaktivieren. |
|
Weitere Informationen zu den globalen Optionen und Nutzungshinweise siehe hier.
Skriptoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Pfad zur ausführbaren Datei des Datenbank-Clients. |
Client wird im |
|
Zeit in Sekunden, die auf den Abschluss der Operation gewartet wird. |
60 |
Weitere Informationen zu den Skriptoptionen und Nutzungshinweise siehe hier.
Optionen zum Aktualisieren der Datenbank
Option | Beschreibung | Standardwert |
---|---|---|
|
Nur prüfen, ob Aktualisierung möglich ist. Das Upgrade wird nicht durchgeführt. |
Datenbank-Verbindungsoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Hostname des VCDB Datenbankservers. |
|
|
Port des VCDB Datenbankservers. |
5432 |
|
Name der VCDB-Instanz, zu eine Verbindung hergestellt werden soll. |
|
|
Benutzername für die Verbidung zur VCDB. |
|
|
Passwort für die Verbidung zur VCDB. Leer lassen, um zur Eingabe aufgefordert zu werden. |
|
|
Datenbankspezifische Verbindungsparameter. |
Weitere Informationen zu den Datenbank-Verbindungsoptionen und Nutzungshinweise siehe hier.
Im Gegensatz zu anderen Befehlen steht die Option --db-schema für den database upgrade Befehl nicht zur
Verfügung.
|
Verwendung
VCDB-Instanz aktualisieren
Um ein Datenbank-Upgrade duchzuführen, muss der upgrade
Befehl mit den Verbindungsparametern für die
entsprechende Ziel-VCDB-Instanz ausgeführt werden. Der Aktualisierungsvorgang prüft zunächst die aktuelle Version der
VCDB-Instanz. Ist diese bereits auf dem neuesten Stand oder kann nicht automatisch aktualisiert werden – zum Beispiel
aufgrund eines Major-Versionssprungs – wird der Befehl beendet, ohne dass Änderungen an der Zieldatenbank vorgenommen
werden.
Wenn ein Upgrade-Pfad existiert, führt der Befehl die SQL-Migrationsskripte aus, die im Softwarepaket von
vcdb-tool
enthalten sind. Dadurch wird die VCDB-Instanz auf die entsprechende Version der mitgelieferten SQL-Skripte
aktualisiert.
Die VCDB-Version der mitgelieferten SQL-Skripte kann mit dem Befehl
scripts-version geprüft und ausgegeben werden.
|
Die Upgrade-Skripte sind nur für das Update bestehender VCDB-Instanzen vorgesehen. Sie können nicht für die Migration einer 3DCityDB-Instanz auf die VC Database verwendet werden. |
Wie hier beschrieben, können die Verbindungsparameter über die oben beschriebenen Kommandozeilenoptionen oder alternativ durch eine JSON-Konfigurationsdatei oder Umgebungsvariablen definiert werden. Die folgenden Optionen müssen angegeben werden:
-
--db-name
: Name der Zieldatenbank, welche die zu aktualisierende VCDB-Instanz enthält. -
--db-username
: Der Besitzer der VCDB-Instanz oder ein Benutzer mit ausreichenden Berechtigungen, um das Upgrade durchzuführen.
Das nachfolgende Beispiel zeigt die Verwendung des upgrade
Befehls:
-
Linux
-
Windows CMD
./vcdb database upgrade \
-H localhost \
-d citydb \
-u citydb_user \
-p mySecret
vcdb database upgrade ^
-H localhost ^
-d citydb ^
-u citydb_user ^
-p mySecret
Beim Ausführen des upgrade
Befehls werden Log-Meldungen in der Konsole ausgegeben, die den Fortschritt der
Operation dokumentieren und anzeigen, ob die VCDB-Instanz bereits aktuell ist, erfolgreich aktualisiert wurde oder
nicht automatisch aktualisiert werden kann. Im Fehlerfall enthält die Log-Ausgabe eine entsprechende Fehlermeldung, die bei der
Identifizierung der Fehlerursache unterstützt.
Wenn die Option --log-level auf debug gesetzt ist, enthält das Log-Protokoll zusätzlich die Ausgaben des
Datenbank-Clients, der die SQL-Skripte ausführt.
|
Der upgrade
Befehl verwendet die folgenden Exit-Codes, die eine automatische Auswertung des Aktualisierungsvorgangs
ermöglichen:
-
0
: Aktualisierung erfolgreich oder keine Aktualisierung erforderlich. -
1
: Aktualisierung aufgrund von Fehlern oder Problemen fehlgeschlagen. -
2
: Ungültige Eingabe für eine Option oder einen Parameter. -
10
: Automatische Aktualisierung nicht möglich.
Vorabprüfung des Upgrades
Wird die Option --check-only
verwendet, wird lediglich eine Vorabprüfung der Aktualisierung ausgeführt. Dabei werden
die aktuelle und die Zielversion der Datenbank verglichen, um festzustellen, ob ein Upgrade-Pfad existiert ist.
Das Ergebnis wird in der Konsole ausgegeben. In diesem Modus wird kein Upgrade durchgeführt, sodass gefahrlos geprüft
weden kann, ob ein Upgrade notwendig und möglich ist.