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.

  • Seien Sie vorsichtig beim Verwenden des database upgrade Befehls, da der Aktualisierungsvorgang sofort gestartet wird. Es erfolgt keine Rückfrage wie "Sind Sie sicher?".

  • Ein Upgrade kann Änderungen am Datenbankschema umfassen. Da dies Auswirkungen auf die gespeicherten Stadtmodelldaten hat, empfehlen wir dringend, vor dem Upgrade ein Backup Ihrer VCDB-Instanz zu erstellen.

Synopsis

vcdb database upgrade [OPTIONS] COMMAND

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

[@<filename>…​]

Eine oder mehrere Argumentdateien mit Optionen.

-h, --help

Hilfenachricht anzeigen und beenden.

-V, --version

Versionsinformationen ausgeben und beenden.

--config-file=<file>

Konfiguration aus dieser Datei laden.

-L, --log-level=<level>

Log-Level: fatal, error, warn, info, debug, trace.

info

--log-file=<file>

Log-Nachrichten in diese Datei schreiben.

--quiet

Deaktiviert Log-Nachrichten auf der Konsole.

--pid-file=<file>

Datei mit der Prozess-ID erstellen.

--plugins=<dir>

Plugins aus diesem Verzeichnis laden.

--use-plugin=<plugin[=true|false]>
[,<plugin[=true|false]>…​]

Plugins mit passendem vollqualifiziertem Klassennamen aktivieren oder deaktivieren.

true

Weitere Informationen zu den globalen Optionen und Nutzungshinweise siehe hier.

Skriptoptionen

Option Beschreibung Standardwert

-c, --client=<file>

Pfad zur ausführbaren Datei des Datenbank-Clients.

Client wird im PATH gesucht

--timeout=<seconds>

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

--check-only

Nur prüfen, ob Aktualisierung möglich ist. Das Upgrade wird nicht durchgeführt.

Datenbank-Verbindungsoptionen

Option Beschreibung Standardwert

-H, --db-host=<host>

Hostname des VCDB Datenbankservers.

-P, --db-port=<port>

Port des VCDB Datenbankservers.

5432

-d, --db-name=<database>

Name der VCDB-Instanz, zu eine Verbindung hergestellt werden soll.

-u, --db-username=<user>

Benutzername für die Verbidung zur VCDB.

-p, --db-password
[=<password>]

Passwort für die Verbidung zur VCDB. Leer lassen, um zur Eingabe aufgefordert zu werden.

--db-property=<property=value>
[,<property=value>…​]

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.