полагаться на бд? например в плане каскадного удаления - не наглядно в коде - нужно помнить что ага - у меня там каскадное удаление поэтому в таком-то месте можно не удалять записи в отношениях - потом конфигурация в бд меняется и ты не удаляешь сущности там где это надо
тесты подстрахуют 🙂
Если спроектировано логично - например при удалении корзины удаляются все товары лежащие в ней- то ничего не надо придумывать. Если при удалении корзины, удаляются например статистика действий пользователя за сегодня - то лучше передизайнить и задача сводится к предыдущей.
а чего она поменялась? не меняйте конкретно эту конфигурацию.
каскадное удаление оченеь опасная фича. надо хорошо думать перед тем как это юзать. БД инструмент. Оно дает тебе гарантии для отдельных операций. То же каскадное удаление позволяет тебе не переживать. Констрейнты в базе позволяют тебе не переживать на тему того что говно попадет в базу. Транзакции позволяют тебе более безопасно менять данные. Не полагаться на эти механизмы - это значит изобретать свои. Другой вопрос что возможности можно мисюзить. Сделал ты там каскад делит, забыл об этом а потом грустишь ибо треть базы по каскаду пошла лесом. Это надо модель данных проектировать под такие вещи.
Обсуждают сегодня