dbdump.pl [ --verbose ... | --no_verbose ]
[ --spec | --no_spec ] [ --contents | --no_contents ]
[ --dbkey DBKEY ] [ --secrets SECRETS ] [ --dumpdir DUMPDIR ]
--helpGibt eine kurze Hilfe mit den aktuellen Einstellungen aus
--versionGibt kurze Hinweise zum Programm und die Version aus.
--verboseErhöht den Umfang der Meldungen.
--no_verboseUnterdrückt die Ausgabe von Meldungen. Die Optionen --verbose und --no_verbose werden der Reihe nach ausgewertet.
--specDie Datenbankstruktur wird ausgeben (Tabellen und Felder)
--no_specDie Datenbankstruktur wird nicht ausgegeben.
--contentsDer Inhalt der Datenbank wird ausgegeben.
--no_contentsDer Inhalt der Datenbank wird nicht ausgegeben.
--dbkey DBKEYDer Schlüssel zum Datenbank-Zugang, s. MysqlAccess.pm (Quelltext).
--secrets SECRETSDer Dateipfad der Geheimnisdatei, optional, s. MysqlAccess.pm (Quelltext).
--dumpdir DUMPDIRDas Ausgabeverzeichnis, optional. Das Skript erstellt die Ausgabedatei . DUMPDIR/DBNAME.xmlDBNAME steht für den Namen der Datenbank.
Dieses Skript liegt in oder unter dem Verzeichnis . Wenn das Ausgabeverzeichnis nicht angegeben ist, wird der Dateipfad dieses Skripts ab KLEIDER/catalog/catalog durch /catalog/dbdump ersetzt.
Dieses Programm gibt die Struktur (Datendefinition) und den Inhalt einer Datenbank (s. DBKEY) nach Maßgabe der Optionen --spec und --contents in einem XML-Format aus. Die Ausgabedatei ist . DUMPDIR/DBNAME.xmlDBNAME steht für den Namen der Datenbank. Die Datei dbdump.rng beschreibt den verwendeten XML-Namensraum.
Für den Inhalt wird ein XML-Namensraum benutzt, der für die Datenbank spezifisch ist. Der lokale Name der umfassenden Elements für den Datenbankinhalt ist der Datenbankname. Die lokalen Namen der Kindelemente sind die Tabellennamen, die lokalen Namen dessen Kindelemente sind die Feldnamen. Der XML-Namensraum heißt http://herbaer.de/xmlns/20201201/dbcontents/, s. DBNAMEdump_rng.xslt.
Das Programm ist mit Perl Version 5.28.1 entwickelt. Es benutzt die folgenden Module:
CwdDie Funktion realpath dient dazu, DUMPDIR zu bestimmen.
Herbaer::MysqlAccessDie Funktion get_database liefert ein DBI-Datenbank-Handle und den Namen der Datenbank, s. MysqlAccess.pm (Quelltext).
Herbaer::ReadargsDie Funktionen read_args aus diesem Modul verarbeitet die Befehlszeilenargumente, die Funktion print_message_with_values gibt die Hilfe mit den aktuellen Einstellungen aus.
Herbaer::XMLDataWriterXML-Ausgabe
MIME::Base64Die Funktion encode_base64 kodiert den Inhalt von Datenfeldern, deren Datentyp-Bezeichnung blob oder binary enthält.