Database-Befehl

Mit dem database Befehl kann eine VC Database v5 Instanz erstellt, aktualisiert oder gelöscht werden. Jede Aktion wird über einen eigenen Unterbefehl bereitgestellt, der die entsprechenden VCDB SQL-Skripte verwendet, um die Operation auszuführen. Die Unterbefehle bieten eine bequeme Alternative zur direkten Ausführung der SQL-Skripte oder der mitgelieferten Shell-Skripte und erleichtern die Integration von Datenbank-Managementoperationen in automatisierte Workflows.

Zusätzlich steht der Unterbefehl scripts-version zur Verfügung, um die Versionsnummer der mitgelieferten SQL-Skripte auszugeben.

Synopsis

vcdb database [OPTIONS] COMMAND

Optionen

Der database Befehl erbt globale Optionen vom Hauptbefehl vcdb. Zusätzlich definiert er eigene Skriptoptionen, die für alle Unterbefehle gelten, die SQL Skripte ausführen.

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

Die Skriptoptionen stehen für alle Unterbefehle zur Verfügung, die SQL-Skripte ausführen. Sie gelten nicht für den Unterbefehl scripts-version.

Verwendung

Skriptoptionen angeben

Die Unterbefehle create, upgrade und drop verwenden die VCDB SQL-Skripte im vcdb-sql Ordner des Installationsverzeichnisses von vcdb-tool, um die jeweilige Datenbankoperation umzusetzen. Die SQL-Skripte werden dabei im Hintergrund mit dem Kommandozeilen-Client des jeweiligen Datenbanksystems ausgeführt. Der entsprechende Datenbank-Client muss daher vor der Ausführung dieser Befehle auf dem System installiert und verfügbar sein.

Über die Option --client kann der vollständige Pfad zur ausführbaren Datei des Kommandozeilen-Clients angegeben werden. Wird die Option weggelassen, sucht der Befehl standardmäßig im PATH des Benutzers oder des Systems nach dieser Datei.

Wird das offizielle Docker-Image für vcdb-tool verwendet, sind alle unterstützten Datenbank-Clients bereits im Container vorinstalliert. In diesem Fall kann die Option --client bedenkenlos weggelassen werden.

Die Option --timeout legt die maximale Anzahl an Sekunden fest, die auf die Ausführung der SQL-Skripte durch den Datenbank-Client gewartet werden soll. Wird diese Zeit überschritten, beendet der Befehl den Datenbank-Client zwangsweise und gibt einen Fehler zurück. Die standardmäßige Wartezeit beträgt 60 Sekunden.

  • Linux

  • Windows CMD

./vcdb database create [...] \
    --client /usr/bin/psql \
    --timeout 120
vcdb database create [...] ^
    --client "C:\Program Files\PostgreSQL\18\bin\psql.exe" ^
    --timeout 120

Überprüfen der SQL-Skriptversion

Der Unterbefehl scripts-version gibt die Version der VCDB-SQL-Skripte aus, die in vcdb-tool enthalten sind. Der Befehl kann ohne besondere Optionen ausgeführt werden.

  • Linux

  • Windows CMD

./vcdb database scripts-version
vcdb database scripts-version

Die Version der SQL-Skripte wird in den Log-Meldungen auf der Konsole ausgegeben. Im Fehlerfall enthält die Log-Ausgabe eine entsprechende Fehlermeldung, die bei der Identifizierung der Fehlerursache unterstützt. Das folgende Beispiel zeigt die Log-Meldungen für eine erfolgreiche Ausführung des Befehls.

$ vcdb database scripts-version
[16:00:20 INFO] Starting vcdb-tool, version 1.0.0.
[16:00:20 INFO] Loading plugins...
[16:00:20 INFO] Executing 'database scripts-version' command.
[16:00:20 INFO] Reading version of the bundled VCDB SQL scripts...
[16:00:20 INFO] VCDB scripts version: 5.0.0
[16:00:20 INFO] Total execution time: 00 s.
[16:00:20 INFO] vcdb successfully completed.

Die Skriptversion kann mithilfe der --output Option auch im JSON-Format ausgegeben werden. Wird ein Dateipfad angegeben, dann wird die JSON-Ausgabe in diese Datei geschrieben. Wird anstelle eines Dateipfads - verwendet, dann erfolgt die JSON-Ausgabe auf stdout. Auf diese Weise lässt sich die JSON-Ausgabe einfach umleiten und mit externen Werkzeugen weiterverarbeiten.

Die folgenden Beispiele zeigen die Verwendung der Option --output.

  • Linux

  • Windows CMD

./vcdb database scripts-version [...] -o version.json      # JSON in Datei schreiben
./vcdb database scripts-version [...] -o -                 # JSON auf stdout ausgeben
./vcdb database scripts-version [...] -o - > version.json  # stdout in Datei umleiten
vcdb database scripts-version [...] -o version.json      # JSON in Datei schreiben
vcdb database scripts-version [...] -o -                 # JSON auf stdout ausgeben
vcdb database scripts-version [...] -o - > version.json  # stdout in Datei umleiten

Die JSON-Ausgabe ist bewusst einfach gehalten und enthält nur "scriptsVersion".

{
  "scriptsVersion": "5.0.0"
}
Die Struktur der JSON-Ausgabe wird durch die JSON Schema-Datei scripts-version.json.schema definiert, die sich im Ordner json-schema des vcdb-tool Installationsverzeichnisses befindet.