[RUBY] Logisches Löschen mit Gem Paranoia

Memorandum

Da ich dieses Mal beim Erstellen meiner eigenen Anwendung das logische Löschen verwendet habe, werde ich es als Memorandum aufzeichnen. Da Sie ein Anfänger in der Programmierung sind, weisen Sie bitte auf Fehler hin! Dieses Mal entwickeln wir mit Rails und MySQL.

Was ist logisches Löschen?

Das allgemeine Löschen wird als physisches Löschen bezeichnet. Wenn Sie es löschen, werden die Daten auch aus der Datenbank gelöscht. Andererseits unterscheidet sich das logische Löschen vom allgemeinen Löschen und bezieht sich auf den Zustand, in dem Daten in der Datenbank verbleiben, als wären sie gelöscht worden. Es wird auch verwendet, um den Löschverlauf anzuzeigen und Daten wiederherzustellen.

Schritt 1 Einführung von Gem

Führen Sie Gems Paranoia ein, die das Problem des logischen Löschens erheblich verringert. Schreiben Sie in Gemfile und bündeln Sie die Installation im Terminal

gem 'rails_12factor'

Schritt 2 Spalte hinzufügen

Wenn Sie ein logisches Löschen durchführen, werden Datum und Uhrzeit des Löschens in diese Spalte eingefügt, und Sie können das Löschflag setzen.

class AddDeletedAtToCategories < ActiveRecord::Migration[6.0]
  def change
    add_column :categories, :deleted_at, :datetime
  end
end

Wenn richtig, bitte $ Rails DB: migrieren. Schreiben Sie Folgendes in das Modell.

Schritt 3 Bearbeiten Sie das Modell

acts_as_paranoid

Zusammenfassung

Mit den obigen Einstellungen ist die logische Löscheinstellung mit Paranoia abgeschlossen! Ich denke, es wäre ziemlich schwierig, es normal zu implementieren, aber ich konnte es einfach mithilfe von Paranoia implementieren! Ich hoffe, es wird für Anfänger in der Programmierung nützlich sein.

Recommended Posts

Logisches Löschen mit Gem Paranoia
[Rails] Implementiere die Event-End-Funktion (logisches Löschen) mit Paranoia (Gem)
[RSpec] Unit Test (mit gem: factory_bot)