@Turtle_Onni

Как залогировать каскадное удаление?

Всем привет!

Во время удаления данных из кода - эта транзакция фиксируется, но в в базе происходит еще и каскадное удаление. Как зафиксировать и последующие транзакции удаления данных во время каскадного удаления в базе?

Большое спасибо заранее.
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Где Вы хотите это фиксировать?

Каскадное удаление происходит, как известно, за счет того, что у ваших внешних ключей стоит ON DELETE CASCADE. На мой взгляд, тут лучше ON DELETE NO ACTION, что заставит Вас руками удалять предварительно все связанные данные, которые ссылаются на удаляемый объект, что как раз и приведет Вас у полному контролю процесса удаления с фиксацией транзакций, с записью контекстной информации и т.п.

А вообще, бизнес обычно не разрешает удалять, только отметить как удаленный, с сохранением информации о том, кто, когда. Тут мы делаем просто UPDATE и ставим нужные поля, но, делаем опять же, для всех связанных данных, которые зависят от удаляемого объекта.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы