4 Problems with Eloquent Soft Deletes (and Two Alternatives)

Problems

  • Performance: Soft Deletes sind langsamer, insbesondere bei großen Datenmengen.
  • Nicht automatisch aktiviert: Soft Deletes sind nicht automatisch aktiviert, wenn Sie Query Builder oder Raw Queries verwenden.
  • Keine kaskadierenden Operationen: Wenn ein Benutzer gelöscht wird, werden die Aufgaben des Benutzers nicht automatisch soft gelöscht.
  • Problem mit eindeutigen Einschränkungen: Wenn ein Benutzer soft gelöscht wird, kann ein neuer Benutzer nicht mit derselben E-Mail-Adresse registriert werden.

Alternatives

  • Verwendung eines Pakets namens 'Laravel Deleted Models', das gelöschte Datensätze in eine separate Tabelle kopiert.
  • Implementierung einer Archiv- und Papierkorb-Funktionalität ähnlich wie in Google Keep, bei der Notizen entweder archiviert oder in den Papierkorb verschoben werden können.

via 4 Problems with Eloquent Soft Deletes (and Two Alternatives)