В данный момент мы работаем над проектом, и мы должны реализовать мягкое удаление для большинства пользователей (пользовательских ролей). Мы решили добавить поле «is_deleted = '0'» для каждой таблицы в базе данных и установить его в «1», если определенные роли пользователя нажимают кнопку удаления в определенной записи.
Для будущего обслуживания сейчас каждый запрос SELECT должен убедиться, что он не включает записи, где is_deleted = '1'.
Есть ли лучшее решение для реализации мягкого удаления?
Обновление: я должен также отметить, что у нас есть база данных аудита, которая отслеживает изменения (поле, старое значение, новое значение, время, пользователь, ip) для всех таблиц / полей в базе данных приложения.