Sådan gør jeg det. Jeg har en is_deleted
felt, som er standard til 0. Så kontrollerer forespørgsler bare WHERE is_deleted = 0
.
Jeg prøver at holde mig væk fra hårde sletninger så meget som muligt. Nogle gange er de nødvendige, men jeg gør det til en funktion, der kun er admin. På den måde kan vi hårdslette, men brugerne kan ikke...
Rediger: Faktisk kan du bruge dette til at have flere "lag" af blød sletning i din app. Så hver kunne være en kode:
0
-> Ikke slettet1
-> Blødt slettet, vises på lister over slettede elementer for administrationsbrugere2
-> Soft Deleted, vises ikke for nogen bruger undtagen admin-brugere3
-> Vises kun for udviklere.
At have de andre 2 niveauer vil stadig give ledere og administratorer mulighed for at rydde op i de slettede lister, hvis de bliver for lange. Og da front-end-koden bare tjekker efter is_deleted = 0
, det er gennemsigtigt for frontend...