Frage

Ich arbeite an einem neuen Web-app, die ich alle Änderungen in der Datenbank speichern, muß Tabelle zu überprüfen (s). Zweck einer solchen Audit-Tabellen ist, dass später in einem realen physischen Prüfung können wir asecertain, was in einer Situation passiert ist, wer bearbeitet, was und was war der Stand der db zum Zeitpunkt der z.B. eine komplexe Berechnung. Also meist Audit-Tabelle wird geschrieben und nicht gelesen. Bericht kann allerdings manchmal erzeugt werden.

Ich habe für verfügbare Lösung gesucht

  1. Audit Trail - einfach und deshalb habe ich auf sie bin geneigt, kann ich es verstehen, einzelne Datei Code.
  2. Reversion - einfach genug schaut zu verwenden, aber nicht sicher, wie leicht es wäre, zu modifizieren, es, wenn nötig.
  3. rcsField scheint für meine Bedürfnisse sehr komplex und zu viel zu sein

Ich habe niemanden von diesen versucht, so wollte ich einige echten Erfahrungen wissen, und eine, die ich verwenden soll. z.B. welches ist schneller verbraucht weniger Raum, einfach zu erweitern und warten?

War es hilfreich?

Lösung 3

Wie ich in meiner Frage erwähnt rcField scheint für meine Bedürfnisse zu viel zu sein, was einfach ist, dass ich Änderungen an meinem Tisch speichern wollen, und kommen werden später wieder auf diese Änderungen einige Berichte zu erzeugen.

So testete ich Audit Trail und Reversion Reversion scheint eine bessere Blas- Anwendung mit vielen Funktionen zu sein (was ich nicht brauchen), auch soweit ich weiß, es speichert die Daten in einer einzigen Tabelle in XML oder YAML-Format, was ich denke,

  1. wird zu viele Daten in einer einzigen Tabelle erzeugen
  2. , dass die Daten lesen ich bereits db-Tools verwenden kann nicht in der Lage sein.

Audit Trail gewinnt in diesem Zusammenhang, dass für jede Tabelle eine entsprechende Audit-Tabelle erzeugt und daher können Änderungen leicht verfolgt werden, pro Tabellendaten weniger ist und leicht zu manipulieren und Anwender für die Berichterstellung werden kann.

Also ich mit Audit Trail werde.

Andere Tipps

Ich persönlich bevor Audit-Tabellen in der Datenbank zu erstellen und durch Triggern bevölkern, so dass jede Änderung auch Ad-hoc-Abfragen aus dem Abfragefenster gespeichert sind. Ich würde nie eine Prüfung Lösung betrachten, die nicht in der Datenbank selbst basiert. Dies ist wichtig, weil Menschen, die böswillige Änderungen an der Datenbank vorgenommen werden oder Betrug zu begehen wahrscheinlich nicht so über das Webinterface zu tun, sondern auf das Backend direkt. Weit mehr von diesem Zeug geschieht von verärgerten oder diebischen Mitarbeitern als außerhalb Hacker. Wenn Sie ein ORM verwenden bereits, sind Ihre Daten in Gefahr, weil die Berechtigungen auf Tabellenebene sind statt der sp Ebene, wo sie hingehören. Deshalb ist es umso wichtiger, dass Sie jede mögliche Änderung nicht nur auf die dat erfassen, was von dem GUI war. Wir haben eine dynamische proc Audit-Tabellen zu erstellen, die ausgeführt wird, wenn neue Tabellen der Datenbank hinzugefügt werden. Da unsere Audit-Tabellen nur die Änderungen zu füllen und nicht den gesamten Datensatz, brauchen wir sie nicht jedes Mal ein Feld hinzugefügt wird, ändern.

Auch wenn mögliche Lösungen bewerten, stellen Sie sicher, man bedenkt, wie schwer es sein, die Daten wiederherzustellen eine bestimmte Änderung rückgängig zu machen. Sobald Sie Audit-Tabellen haben, werden Sie feststellen, dass dies eine der wichtigsten Dinge, die Sie von ihnen tun müssen. Sehen Sie sich auch, wie schwer wird es sein, sie die Informationen wie die Datenbankschemaänderungen maintian.

eine Lösung Wahl, weil es am einfachsten zu verstehen zu sein scheint, ist nicht generell eine gute Idee. Das sollte niedrigsten Ihrer selction Kriterien werden nach den Anforderungen, die Sicherheit zu erfüllen, etc.

Ich kann Ihnen nicht gebe reale Erfahrung mit einem von ihnen habe ich aber gern eine Beobachtung machen.

Ich gehe davon durch Audit Trail du meinst Audit Trail auf dem Django Wiki . Wenn ja, ich glaube, Sie stattdessen wollen werde bei HistoricalRecords vom selben Autor (Marty Alchin aka @gulopine) in seinem Buch Pro Django . Es sollte besser mit Django 1.x.

Dies ist der Ansatz, den ich auf einem bevorstehendes Projekt verwenden werde, nicht weil es notwendigerweise die andere aus technischen Sicht schlägt, sondern weil sie paßt die „reale Welt“ Erwartungen der Audit-Trail für diese Anwendung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top