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