delete. В целом, штука универсальная, если не забывать делать джоины
А вот вопрос по поводу восстановления удаленных объектов - это вообще частая практика?
Вот например, удалили мы продукт, а потом категорию. Пробуем восстановить продукт, а категория уже удалена. Это частые случаи?
Решается ли это какими-то локальными проверками, аля, если родительский объект удалён - восстановить нельзя (на этом простом примере может быть и прокатит, а если дерево зависимостей больше?)
1. Может soft-delete? Который "мягкий", а не "программный". 2. Да, случаи бывают. Да, решается проверками по бд. Как именно решать - это надо у аналитика/заказчика спрашивать
главный бонус soft delete в том что не надо удалять прямо сейчас
Софт делет нужен не столько для того, чтобы часто что-то восстанавливать, хотя это полезно. Во многом это такой способ избежать боли при каскадных удалениях. Когда не страдаешь от ошибок и форейн кеи на месте
Для себя обнаружил главный бонус в том, что в других таблицах внешние ключи не ломаются
Ну и для анализа - приходит к тебе чел, говорит: я тут заказывал, а заказ пропал. Смотришь - а он удален тогда-то, очень удобно.
для этого есть история действий
Она тоже может быть поломана
сервер может быть взломан
Конечно. Поэтому чем больше данных, по которым что-то можно понять, тем лучше.
Ты предлагаешь журналирование просто
Обсуждают сегодня