Я пытаюсь выполнить мягкое удаление в базе данных SQL Server. У меня есть следующие простые отношения:
Таблица блога:
PK BlogId, Name, Deleted
Таблица сообщений:
PK PostId, FK BlogId, Title, Deleted
Таблица сообщений имеет внешний ключ с ограничением, которое гарантирует, что для каждого сообщения есть существующий блог, и при удалении блога вы должны удалить все связанные сообщения.
Но, , как построить ограничение FK с учетом soft-delete , поэтому, когда я устанавливаю запись в блоге как удаленную, это заставит меня пометить все связанные посты как удаленные.
Обновление: я обнаружил, что временные таблицы - очень полезная функция, которая может заменить мягкое удаление, потому что она отслеживает всю историю изменений, включая удаление записей. (но все еще заинтересован в некотором способе мягкого удаленияпод вопросом)