У меня есть 2 таблицы: users(id, login, и т.д.) и forgot_password_tokens(user_id, token).
Поле user_id в forgot_password_tokens это внешний ключ на таблицу users, но ON DELETE и ON UPDATE стоит RESTRICT. Это сделано, потому что мы не удаляем ничего из базы, а только помечаем как удаленное.
Есть 2 теста. Первый тест - тест LoginForm, второй - ResetPasswordForm.
Первый тест подгружает нужную фикстуру пользователя, второй тест загружает фикстуру с токеном. При запуске первый раз они оба проходят без проблем. При запуске второй раз появляется ошибка:
Код: Выделить всё
Cannot delete or update a parent row: a foreign key constraint fails (`db-ests`.`forgot_password_tokens`, CONSTRAINT `fk_forgot_password_tokens_users` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`))
Я думал, может быть можно как-то указать dependency, что они чистил все зависимые таблицы вначале, но видимо нет.
Единственный способ который я вижу, это писать свой код в метод unload (), который будет чистить нужные мне таблицы. Или все-таки я ошибаюсь?