Frage

Kennt jemand ein Juwel, das beide Soft -Deletes -Datensätze aus einer Datenbank (einfach als gelöscht und im Gegensatz zu tatsächlich gelöscht werden) und ...

... Auch wann lässt Sie diese Art von Fund diese Müllplatten automatisch aus, ohne dass spezielle benutzerdefinierte Bereiche verwendet werden. ZB das alles findet im Edelstein statt.

Prost!

War es hilfreich?

Lösung

Vielleicht möchten Sie Paper_trail auschecken

https://github.com/airblade/paper_trail

Andere Tipps

DHH ist ein Fan davon mit "Bedenken", die im Grunde genommen nur Modulmixins sind, und ich mag diesen minimalistischen Ansatz.

Hier ist Dhhs Version - https://gist.github.com/1014971

Hier ist meine fehlerhafte Version - https://gist.github.com/4032984

paper_trail hat viele Funktionen und ist gut getestet (schon lange da).

Wenn Sie nur die angegebene Funktionalität wünschen, lesen Sie:

https://github.com/grosser/soft_deletion

Paranoia

Das Paranoia Juwel aus dem offen talentierten Radar ist das, wonach Sie suchen würden.

Es ist im Wesentlichen ein Umschreiben von ACTS_AS_PARANOID (und verwendet viele der gleichen Konventionen), ist aber kleiner, schneller und kompatibel mit Schienen 3 und 4.

Es wird beide Anfragen erreicht:

  1. Setzt automatisch a deleted_at Zeitstempel, wenn a destroy Methode wird auf ein Objekt aufgerufen, dessen Klasse enthält acts_as_paranoid.

  2. Legt automatisch eine Bedingung auf alle Abfragen fest, die sichern deleted_at IS NULL, es sei denn, Sie schließen ein with_deleted in Ihrer Abfragekette.

Konnte nicht genug gute Dinge über die Bibliothek oder das Radar sagen.

Bonus: Seine Dokumentation könnte die beste im "Geschäft" sein.

Ich benutze das Edelstein -Edelstein. Es ist eine ganz einfache Möglichkeit für weiche Löschdatensätze.https://www.rubydoc.info/gesems/discard/1.0.0

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