Tak to robię. Mam is_deleted
pole, które domyślnie ma wartość 0. Następnie zapytaj po prostu sprawdź WHERE is_deleted = 0
.
Staram się trzymać z daleka od wszelkich twardych skreśleń tak bardzo, jak to możliwe. Czasami są one potrzebne, ale robię to tylko dla administratora. W ten sposób możemy trwale usunąć, ale użytkownicy nie mogą...
Edytuj: W rzeczywistości możesz użyć tego, aby mieć wiele „warstw” miękkiego usuwania w swojej aplikacji. Więc każdy może być kodem:
0
-> Nie usunięto1
-> Miękkie usunięte, pojawia się na listach usuniętych elementów dla użytkowników zarządzających2
-> Nietrwałe usunięte, nie wyświetla się dla żadnego użytkownika oprócz administratorów3
-> Pojawia się tylko dla programistów.
Posiadanie pozostałych 2 poziomów nadal pozwoli menedżerom i administratorom wyczyścić usunięte listy, jeśli będą zbyt długie. A ponieważ kod frontonu po prostu sprawdza, czy is_deleted = 0
, jest przezroczysty dla interfejsu...