Schema der KIX Datenbank
Für das SQL Statement in Berichtsdefinitionen oder für die Konfiguration individueller Komponenten ist es hilfreich, die Struktur und Benennungen innerhalb der KIX Datenbank zu kennen. Hier stellen wir Ihnen das Datenbankschema in verschiedenen Varianten zum Download bereit:
Beschreibung Datenbank-Schema als DB Markup Language: KIX-db-schema.dbml
Nach dem Download können Sie die Datei in einem Editor öffnen, der Markup-Dateien unterstützt (z. B. MS Visual Code oder ein Texteditor).
Datenbank-Schema als Graphviz-Daten: KIX-db-schema.dot
Nach dem Download können Sie die Datei bspw. in einem Textverarbeitungsprogramm wie MS Word öffnen.
Datenbank-Schema als Vector-Grafik: KIX-db-schema.svg
Nach dem Download können Sie die Datei bspw. in einem Browserfenster öffnen.
Die SVG-Grafik visualisiert auch die Beziehungen zwischen den Datenbanktabellen.
Nutzer von On-Premises-Installationen können das SQL-Datenbankschema auch über diverse Tools erzeugen wie bspw.:
DBSchema: https://dbschema.com
Dokumentation DBSchema: https://dbschema.com/documentation/
SchemaSpy: https://dev.to/mostalive/how-to-visualize-a-postgresql-schema-as-svg-with-schemaspy-516g
In Ubuntu-Linux-Umgebungen kann das Datenbank-Schema mit folgendem Skript generiert werden:
# extract SQL schema from backend container... dockerhost$ docker exec -it kixpro-backend-1 /opt/kix/bin/kix.Console.pl Dev::Tools::Database::XML2SQL --database-type postgresql --source-path /opt/kix/scripts/database/kix-schema.xml --target-filename /tmp/kixdb.sql.postgresql.sql dockerhost$ docker cp kixpro-backend-1:/tmp/kixdb.sql.postgresql.sql.postgresql.sql /tmp/ # install SQL translator on docker host... dockerhost$ apt install libsql-translator-perl # prepare SQL schema... dockerhost$ sed -i.orig '/--\|SET/d' /tmp/kixdb.sql.postgresql.sql # apply SQL translator on docker host to generate SVG (filter non-relevant tables)... dockerhost$ sqlt-graph -o /workspace/KIX.svg -t svg -f PostgreSQL --show-datatypes --skip-tables-like "(auto_response.*|pm_.+|process_id|package_repository|system_maintenance|kix_ticket.*|kix_dep_dynamic_field_prefs|kix_dep_dynamic_field|addressbook|customer_portal_group|acl.*|attachment_storage|virtual_fs_db|smime_signer_cert_relations)" /tmp/kixdb.sql --layout sfdp --fontname courier --show-sizes --show-datatypes --show-constraints --node-shape "record" --edgeattr "color=#a9a9a9" --edgeattr "arrowhead=crow" --edgeattr "style=dashed" --graphattr "overlap=false" --graphattr "rankdir=LR" --graphattr "ratio=0.5" --graphattr "splines=true"