[DbLog] bug: automatischer trigger 'update timestamp' in Tabelle history

Begonnen von ManOki, 21 April 2016, 10:23:40

Vorheriges Thema - Nächstes Thema

ManOki

Hallo,

ich möchte auf einen aus meiner Sicht "Bug" bzw. "Designfehler" hinweisen: In der aktuellen Standardeinstellung von DbLog wird bei MySql für die Tabelle 'history' automatisch ein Trigger für das Feld Timestamp, nämlich "on update CURRENT_TIMESTAMP" erstellt.

Das bedeutet, sollten nachträglich Änderungen an der History gemacht werden, wird automatisch der Zeitstempel auf das aktuelle Datum gesetzt. Heißt, wenn man z.B. alte Logeinträge auf neue Formatierungen oä. aktualisieren möchte, ist die komplette Historie hinfällig, da das Datum nicht mehr stimmt und im schlimmsten Fall nicht mehr wiederhergestellt werden kann.

Erstellt habe ich die Tabelle mit dem vorgegebenen Standard-Skript unter "/fhem/contrib/dblog/db_create_mysql.sql" in einer Mariadb 10.0.23.

Für bestehende Datenbanken kann das folgende Statement den Trigger entfernen.
ALTER TABLE table `history` CHANGE `TIMESTAMP` `TIMESTAMP` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

Viele Grüße
ManOki

PS: Falls das das falsche Forum sein sollte, bitte ich das zu entschuldigen.

JoeALLb

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

ManOki

Habe den Thread nur überflogen, aber nichts dazu gefunden, wo der Trigger diskutiert wird. Soll ich meinen Beitrag dort nochmal posten?

Viele Grüße
ManOki