Аз така го правя. Имам is_deleted
поле, което по подразбиране е 0. След това заявките просто проверяват WHERE is_deleted = 0
.
Опитвам се да стоя далеч от всякакви твърди изтривания, доколкото е възможно. Понякога са необходими, но аз го правя функция само за администратор. По този начин можем да изтрием трудно, но потребителите не могат...
Редактиране: Всъщност можете да използвате това, за да имате множество „слоеве“ на меко изтриване в приложението си. Така че всеки може да бъде код:
0
-> Не е изтрито1
-> Soft Deleted, показва се в списъци с изтрити елементи за потребители на управление2
-> Soft Deleted, не се показва за никой потребител, освен потребители с администратор3
-> Показва се само за разработчици.
Наличието на другите 2 нива все пак ще позволи на мениджърите и администраторите да изчистят изтритите списъци, ако станат твърде дълги. И тъй като предният код просто проверява за is_deleted = 0
, той е прозрачен за интерфейса...