Vorgehensweise mysql/Historie
Tibor
- programmiertechnik
Hallo,
auf einer meiner Seiten wird bei jedem Klick auf die Seite ein Eintrag in eine Tabelle einer dB vorgenommen. Es ist immer dieselbe Tabelle mit den Spalten. Mal werden viele Zeilen der Tabelle geändert, mal nur eine.
Das Resultat der Seite wird aus einem Template und den Einträgen dieser Tabelle generiert.
Ich würde gerne eine Historienfunktion einbauen. Am liebsten unbegrenzt, aber wenn schon für die letzten 3 Züge, wäre das auch schön.
Gibt es hierfür eine Vorgehensweise, die sich als besonders ideal erweist?
Grüße
Tibor
Ich kann dir leider nicht ganz folgen, wie diese Änderungen aussehen.
Gibt es hierfür eine Vorgehensweise, die sich als besonders ideal erweist?
Wenn es um Textänderungen geht die du versionieren möchtest, könntest du für die Änderungen die unterschiede zur letzten Version in einem geeigneten Format speichern - das unified-diff-Format ist z.B. geeignet für sowas. MediaWiki macht das afaik so.
Wordpress hingegen speicher hingegen den Volltext jeder Version 1:1 in der Datenbank.
Ich kann dir leider nicht ganz folgen, wie diese Änderungen aussehen.
Reine Änderungen von Zahlenwerten im Format decimal(8,2). Wenn ich nicht auch auf Summenfunktionalität angewiesen wäre, wäre meine erste Idee auch eine outnormalisierte Versionsspalte gewesen. Wobei - lass mal überlegen - das müsste sogar inkl. Summenfunktionen gehen über eine entsprechende where-Klausel.
Wordpress hingegen speicher hingegen den Volltext jeder Version 1:1 in der Datenbank.
Uff!
Reine Änderungen von Zahlenwerten im Format decimal(8,2). Wenn ich nicht auch auf Summenfunktionalität angewiesen wäre, wäre meine erste Idee auch eine outnormalisierte Versionsspalte gewesen. Wobei - lass mal überlegen - das müsste sogar inkl. Summenfunktionen gehen über eine entsprechende where-Klausel.
Ein zusätzliches "history" welches per 0/1-Wert markiert, ob der Datensatz nur der Versionierung dient sollte ggf. reichen.
Wordpress hingegen speicher hingegen den Volltext jeder Version 1:1 in der Datenbank.
Uff!
Das war auch mein Gedanke - drum wird bei mir regelmäßig bereinigt :D
Ein zusätzliches "history" welches per 0/1-Wert markiert, ob der Datensatz nur der Versionierung dient sollte ggf. reichen.
Würde ggf., das ist richtig. Passt aber nicht ganz zur restlichen Scriptstruktur.
Uff!
Das war auch mein Gedanke - drum wird bei mir regelmäßig bereinigt :D
Das ist der richtige Ansatz. Denn Du darfst umso redundanter damit umgehen, je regelmäßiger Du bereinigst. ;-)
Dank und Gruß, Tibor