Как тестировать каскадные удаления (CASCADE DELETE)?

Middle
261 просмотров
AFK Offer AI

CASCADE DELETE — при удалении родителя автоматически удаляются дочерние записи. Тестируем: DELETE FROM users WHERE id = 5 → проверяем: SELECT * FROM orders WHERE user_id = 5 — должно быть пусто. SELECT * FROM sessions WHERE user_id = 5 — пусто. Важно понять: каскад удаляет всё или только прямые дочерние (не каскадируется глубже)? Альтернативы: SET NULL (FK становится null), RESTRICT (запрещает удаление если есть дочерние). Тестируем все варианты.

Следующий вопрос

Что такое chaos testing?