Blogue

Suppression en douceur (Soft delete)

En quoi consiste le "soft delete"?

Le “soft delete” consiste à ne pas supprimer un entité de la base de données lors de sa suppression par un utilisateur. Au lieu de supprimer complètement l’entité, la propriété “deletedAt” est utilisée. Lors de la suppression, la propriété deletedAt obtient comme valeur la date de suppression de l’entité. Si l’entité a une date de suppression (deletedAt), l’entité est considéré comme supprimé et n’est plus visible dans le système par les utilisateurs.

Les avantages d'utiliser un "soft delete"

  • Aucune perte de données en cas de mauvaise manipulation
  • Il est facile pour l’équipe de PHPReaction de récupérer les données supprimées

Suppression des entités avec des relations

Lorsque l’entité à supprimé a des relations avec d’autres entités, exemple on veut supprimé une tâche, mais la tâche a plusieurs feuilles de temps, lors de la suppression une fenêtre apparaîtra pour demander ce que l’utilisateur veut faire avec les feuilles de temps. L’utilisateur a donc deux choix qui s’offre à lui; supprimer les feuilles de temps aussi en même temps que la tâche ou transférer les feuilles de temps dans une autre tâche. Si l’utilisateur décide de supprimer les feuilles de temps, la tâche ainsi que ses feuilles de temps seront “soft delete”. Si l’utilisateur a décidé de transférer les feuilles de temps dans une autre tâche, seulement la tâche à supprimer sera “soft delete”.