Det är så jag gör. Jag har en is_deleted
fält som är standard till 0. Sedan kontrollerar frågorna bara WHERE is_deleted = 0
.
Jag försöker hålla mig borta från hårda borttagningar så mycket som möjligt. De är nödvändiga ibland, men jag gör det till en funktion som endast är administratör. På så sätt kan vi hårdradera, men användare kan inte...
Redigera: Faktum är att du kan använda detta för att ha flera "lager" av mjukradering i din app. Så var och en kan vara en kod:
0
-> Ej borttagen1
-> Soft Deleted, visas i listor över raderade objekt för hanteringsanvändare2
-> Soft Deleted, visas inte för någon användare förutom adminanvändare3
-> Visas endast för utvecklare.
Att ha de andra 2 nivåerna gör det fortfarande möjligt för chefer och administratörer att rensa bort de raderade listorna om de blir för långa. Och eftersom front-end-koden bara letar efter is_deleted = 0
, det är genomskinligt för frontend...