Mysql
 sql >> Database >  >> RDS >> Mysql

Procedure consigliate per l'eliminazione temporanea (PHP/MySQL)

È così che lo faccio. Ho un is_deleted campo che per impostazione predefinita è 0. Quindi le query controllano semplicemente WHERE is_deleted = 0 .

Cerco di stare lontano da qualsiasi hard-delete il più possibile. A volte sono necessari, ma ne faccio una funzione solo per l'amministratore. In questo modo possiamo eseguire l'eliminazione definitiva, ma gli utenti no...

Modifica: In effetti, puoi usarlo per avere più "livelli" di eliminazione graduale nella tua app. Quindi ognuno potrebbe essere un codice:

  • 0 -> Non Eliminato
  • 1 -> Eliminato temporaneamente, viene visualizzato negli elenchi di elementi eliminati per gli utenti di gestione
  • 2 -> Eliminato temporaneamente, non viene visualizzato per nessun utente tranne gli utenti amministratori
  • 3 -> Viene visualizzato solo per gli sviluppatori.

Avere gli altri 2 livelli consentirà comunque a gestori e amministratori di ripulire gli elenchi eliminati se diventano troppo lunghi. E poiché il codice front-end controlla solo is_deleted = 0 , è trasparente per il frontend...