Joomla.it Forum
Non solo Joomla... => Sviluppo => : vales 21 Jul 2010, 16:10:42
-
Mi sto domandando quale sia il metodo più idoneo per cancellare records da una tabella.
1) cancellare fisicamente il record dalla tabella con una bella query
2) inserire un campo deleted e fissarlo a 0-1, On-Off, Si-No ecc. e quindi usare successivamente filtri per la visualizzazione, ricerche ecc.
Se qualcuno ha esperienza di questo aspetto mi piacerebbe conoscere pro e contro delle due scelte.
-
Non si può dare una risposta che valga per ogni situazione. Dipende molto da che sistema stai sviluppando e che funzionalità implementa. Se hai necessità di poter recuperare i dati cancellati, di moderarli prima di eliminarli definitivamente, oppure di implementare sincronie tra database diversi, allora utilizzare un flag può essere l'idea giusta. Negli altri casi, direi che l'approccio più classico e semplice sia eseguire cancellazioni.
-
concordo,... se c'è un motivo... tipo se vuoi lasciare la possibilità ad un utente di eliminare dei contenuti senza però perderli...
M.
-
dmdigital, mau_develop grazie per il vostro parere.
-
ciao vales!
io opto per il delete, ma va anche detto che in alcuni casi, quando è importante mantenere dati/storico (vedi transazioni finanziarie) revoco anche il permesso di delete sulla tabella all'utenza che accede al db (tanto per essere sicuro).
ciao,
marco
-
Ciao Vales,
se utilizzi un boolean che discimini la cancellazione o meno ( soft delete ) significa che vuoi che quel dato sia recuperabile, un giorno.
Chiediti se effettivamente il comportamento di quel modello debba rispettare questa condizione e avrai la risposta alla tua domanda. ;)
-
Ho scelto la via di cancellare dalla tabella. Non era necessario mantenere i dati i memoria.
Grazie a tutti dei suggerimenti e riflessioni.