Вот и все - логическое поле, указывающее, что запись удалена. Несколько раз я использовал это, я назвал это поле IsDeleted
.
Это часто называют Логическое удаление .
Вы должны уважать это поле в своих отчетах, что означает исключение всех записей с IsDeleted = true
. Эти запросы могут быть немного сложными, если у вас много таблиц и связей.
Кроме того, вы можете столкнуться с некоторыми проблемами, если у вас есть уникальные ограничения для таблицы. Например, если в пользовательской таблице у пользователя есть IsDeleted = true
, а столбец электронной почты уникален, я не смог бы добавить нового пользователя с тем же адресом электронной почты.
Есть некоторые ORM, которые принимают во внимание эти поля - например, SubSonic 2.2 не удалит запись, если есть столбец с именем «Удален» или «IsDeleted», вместо этого он установит для этого поля значение true.
Некоторые связанные ресурсы:
В качестве альтернативы вы можете добавить таблицы аудита.