Aller au contenu principal

Politique Soft Delete

Utiliser les soft deletes pour les enregistrements qui peuvent être référencés après suppression.

Utiliser soft deletes pour

  • Utilisateurs
  • Rôles et permissions (quand référencés historiquement)
  • Applications et services
  • Imports, exports, runs de parsing quand l'historique métier compte
  • Enregistrements admin configurables

Éviter les soft deletes pour

  • Enregistrements pivot purs sans valeur d'audit
  • Tables de cache temporaires
  • Logs append-only immutables où la suppression est interdite

Règles

  • Ajouter deleted_at via SoftDeletes
  • Utiliser withTrashed() uniquement quand explicitement requis
  • Considérer les index uniques avec comportement soft delete
  • Ne jamais supprimer définitivement des enregistrements métier sensibles sans approbation

Implémentation

use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model
{
use SoftDeletes;

protected $dates = ['deleted_at'];
}
// Migration
$table->softDeletes();