Die Schemata ermöglichen es eigene Datenbanktabellen in PIM zu erstellen. Hierfür werden die folgenden Konfigurationstabellen zur Definition genutzt:
Schemata
Tabellen
Tabellengruppen
Alle Tabellen stehen über den Administrationsbereich zur Verfügung. Die Schemata sind eine Gruppierung von Tabellen welche optional in Tabellengruppen organisiert werden können.
Schemata und Tabellenstrukturen definieren ausschließlich Tabellen und deren Beziehung zueinander. Mit der Datenmodellierung können Formularmasken mit Feldern und Feldgruppen für diese Tabellen erstellt werden.
Benutzerdefinierte Konfigurationen
Über das JSON-Eingabefeld "Konfiguration" in der Definitionstabelle "Tabellen" kann eine benutzerdefinierte Konfiguration ergänzt werden. Diese kann mithilfe des folgenden Codes abgerufen werden:
use \Brandbox\Framework\Component\Widget; $configuration = $this ->staticController(Widget\Manager::class) ->getRepositoryWidget('[Identifikator der Datenbanktabelle]') // Optional auch direkt über ein Entity per $entity->getWidget() abrufbar. ->getConfiguration() ;
Echte Tabellenspalten erstellen
Normalerweise erstellt PIM keine Spalten in den generierten Datenbanktabellen sondern nutzt die ODM-Spalte für die Speicherung der Daten. Mit der Checkbox "Tabellenspalten erstellen" in der Konfiguration einer PIM-Tabellenstruktur werden die verknüpften Felder als echte Spalten in der Tabelle erstellt. Hierbei wird standardmäßig die interene Feldkonfiguration als Grundlage für die Spaltendefinition genutzt (Eine Checkbox wird als boolean
gespeichert und eine Textfeld als string
). Mit folgender Feldkonfiguration bei den entsprechenden Spalten kann diese Definition überschrieben werden:
{ "doctrine": { "type": "[Typdefinition von Doctrine (bspw. boolean, string, json, etc.)]", "length": 255, // Längenangabe als Ganzzahl "encrypted": true // Optionale Verschlüsselung der Spalte } }
Versionshinweise
brandbox 8.0 (pim-core 2.0)
Die Konfigurationstabellen (Schemata, Tabellen und Tabellengruppen) sind nach den Mandanten getrennt
Die Identifikatoren dieser Konfigurationen müssen über alle Mandanten hinweg eindeutig sein