FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: ManOki am 21 April 2016, 10:23:40

Titel: [DbLog] bug: automatischer trigger 'update timestamp' in Tabelle history
Beitrag von: ManOki am 21 April 2016, 10:23:40
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.
Titel: Antw:[DbLog] bug: automatischer trigger 'update timestamp' in Tabelle history
Beitrag von: JoeALLb am 06 April 2017, 11:25:11
Danke für den Hinweis! Dies wird aktuell in https://forum.fhem.de/index.php/topic,65860.240.html diskutiert und womöglich entfernt.
Titel: Antw:[DbLog] bug: automatischer trigger 'update timestamp' in Tabelle history
Beitrag von: ManOki am 06 April 2017, 11:33:32
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