Daten ändern die Geschichte mit audit-Tabellen: Gruppierungen verpasst

Können sagen, ich möchte zum speichern von Benutzern und Gruppen in einer MySQL-Datenbank. Sie haben eine Beziehung n:m. Um den überblick über alle änderungen hat jede Tabelle eine audit-Tabelle user_journal, group_journal und user_group_journal. MySQL-Trigger, Kopie des aktuellen Datensatzes an die journal-Tabelle auf jeden INSERT-oder UPDATE - (LÖSCHT werden nicht unterstützt, da bräuchte ich die information, welche Anwendung der Benutzer gelöscht hat, den Datensatz--und so gibt es eine Flagge active dass auf 0 statt einer Löschung).

Meine Frage/problem ist: Vorausgesetzt, ich bin Zugabe von 10 Benutzer in einer Gruppe auf einmal. Wenn ich später dann durch die Geschichte der Gruppe in der Benutzeroberfläche der Anwendung möchte ich sehen, der das hinzufügen von 10 Benutzern als einen Schritt und nicht als 10 voneinander unabhängigen Schritten. Ist es eine gute Lösung, um die Gruppe solche Veränderungen zusammen? Vielleicht ist es möglich, einen Zähler, der jedes mal erhöht wird, wird der trigger ausgelöst...? Ich war noch nie mit Triggern.

Die beste Lösung wäre, um gemeinsam alle änderungen innerhalb einer Transaktion. So, wenn der Benutzer von updates den Namen der Gruppe ein und fügt 10 Benutzer in einem Schritt (one form-controller-Aufruf) dies wäre ein Schritt in der Geschichte. Vielleicht ist es möglich, zu definieren, eine zufällige hash-oder Inkrementieren eines globalen Zähler jedes mal, wenn eine Transaktion gestartet wird und Zugriff auf diesen Wert im trigger?

Ich will nicht, um die Tabelle design komplexer als die eines journal-Tabelle für jede "echte" Tabelle. Ich will nicht zum hinzufügen einer Transaktions-hash in jede Datenbank-Tabelle (also die "echten" Tabellen, nicht die audit-Tabellen--dort, es wäre in Ordnung natürlich). Ich würde auch gerne eine Lösung haben, die in der Datenbank-nicht in der Anwendung.

InformationsquelleAutor stofl | 2013-01-01
Schreibe einen Kommentar