У SQL всегда была отличная возможность: каскадные удаления. Вы планируете это заранее, и когда пришло время что-то удалить, БАМ! Не нужно беспокоиться обо всех этих зависимых записях.Cascading Soft Delete
Однако в настоящее время это почти табу на самом деле УДАЛИТЬ все. Вы отмечаете его как удаленное и прекратите показывать его. К сожалению, я не смог найти твердого решения для этого, когда есть зависимые записи. Я всегда вручную кодировал сложную сеть мягких удалений.
Есть ли лучшее решение, которое я полностью пропустил?
Это безумно элегантный ИМО. Единственная проблема с этим - вы не можете использовать NULL Delete_Date, но вместо этого должны использовать какую-то произвольную дату, например «9999-12-31». – HaxElit
Подумав немного больше, это не сработает, потому что если вы мягко удаляете зависимую запись, вы получаете ошибку ограничения ключа, потому что дата удаления родителя отличается. Чтобы быть правдой, я думаю;) – HaxElit