Historisierung von Datentabellen
Information
- Die Historisierung ist für alle Tabellen möglich.
Details
- Um die Historisierung einzuschalten, müssen:
- der Parameter Historisierung auf der gewünschten Datentabelle im Modul Data Dictionary und
- der Parameter Historisierung auf dem/den gewünschten Dataitem(s) aktiviert werden.
Details
- Envers generiert für jede versionierte Tabelle eine Tabelle mit dem Suffix _HIS.
- Die History-Tabelle der Datentabelle DT412 heißt beispielsweise DT412_HIS.
- Eine History-Tabelle beinhaltet alle Spalten der Originaltabelle sowie die folgenden Spalten
- REV = Revision
- REVTYPE = gibt an, ob etwas hinzugefügt (0), aktualisiert (1) oder gelöscht (2) wurde
- Jedes Mal, wenn in der versionierten Tabelle etwas hinzugefügt, aktualisiert oder gelöscht wurde, wird in der History-Tabelle eine neue Zeile mit dem jeweiligen Status der Felder eingefügt.
- Das ursprüngliche Objekt kann anhand des Primärschlüssels identifiziert werden.
- Das Änderungsdatum wird in die Envers-Standardtabelle REVINFO (Spalte REVTSTMP) geschrieben.
- Über das Feld REV linkt die Tabelle REVINFO auch auf alle REV-Felder in den Historientabellen.
- Jede versionierte Tabelle wird durch das gleiche UUID-Feld identifiziert, unabhängig vom eigentlichen Hauptfeld des Datenbank-Layers.
- D.h., jede _HIS-Tabelle enthält ein UUID-Feld, mit dem eine spezifische Zeile in einer versionierten Tabelle identifiziert werden kann.
- Die UUID-Felder müssen in jeder versionierten Tabelle auf der Datenbank existieren, damit die Historisierung durch Envers funktioniert.
Hinweis
- Werden in den Tabellen, die historisiert werden, neue Spalten eingefügt, die ebenfalls historisiert werden sollen, müssen die gleichen Spalten in der Historisierungstabellen eingefügt werden.