[RUBY] Suppression logique grâce à la paranoïa des gemmes

mémorandum

Puisque j'ai utilisé cette fois la suppression logique lors de la création de ma propre application, je l'enregistrerai sous forme de mémorandum. Puisque vous êtes un débutant en programmation, veuillez signaler toute erreur! Cette fois, nous développons en utilisant des rails et MySQL.

Qu'est-ce que la suppression logique?

La suppression générale est appelée suppression physique et si vous la supprimez, les données seront également supprimées de la base de données. D'autre part, la suppression logique est différente de la suppression générale et se réfère à l'état dans lequel les données restent dans le DB comme si elles avaient été supprimées. Il est également utilisé pour afficher l'historique des suppressions et restaurer les données.

Étape 1 Introduction de Gem

Introduisez la paranoïa de Gem, qui réduit considérablement le problème de la suppression logique. Écrire dans Gemfile et installer le bundle dans le terminal

gem 'rails_12factor'

Étape 2 Ajouter une colonne

Si vous effectuez une suppression logique, la date et l'heure de la suppression seront insérées dans cette colonne et vous pouvez définir l'indicateur de suppression.

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

Si c'est correct, veuillez $ rails db: migrate. Écrivez ce qui suit dans le modèle.

Étape 3 Modifiez le modèle

acts_as_paranoid

Résumé

Avec les paramètres ci-dessus, le paramètre de suppression logique utilisant la paranoïa est terminé! Je pense que ce serait assez difficile de l'implémenter normalement, mais j'ai pu l'implémenter facilement en utilisant la paranoïa! J'espère qu'il sera utile pour les débutants en programmation.

Recommended Posts

Suppression logique grâce à la paranoïa des gemmes
[Rails] Implémenter la fonction de fin d'événement (suppression logique) en utilisant la paranoïa (gem)
[RSpec] Test unitaire (avec gem: factory_bot)