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. Nachfolgend stellen wir Ihnen Informationen dazu bereit.
Informationen zum Aufbau der KIX Datenbank:
als SVG-Grafik: https://github.com/kix-service-software/kix-backend/blob/master/doc/database/KIX.svg
(Vollbild: Klick auf "Raw"; dann Zoom und Scrollfunktionen des Browsers nutzen)
als XML-Schema: https://github.com/kix-service-software/kix-backend/blob/master/scripts/database/kix-schema.xml
Nutzer von On-Premises-Installationen können das SQL-Datenbankschema auch über diverse Tools erzeugen wie bspw.:
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"