Symfony test: очень долгое очищение БД в режиме truncate
Symfony 3.4, бд mysql.
Перед каждым тестом очищаю базу данных, чтобы залить только необходимыми значениями. Использую truncate, чтобы сбросить счетчики инкрементации ID.
Перед каждым тестом запускаю следующий код:
$em = $this->getEntityManager();
$em->getConnection()->exec('SET FOREIGN_KEY_CHECKS = 0;');
$purger = new ORMPurger($em);
$purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE);
$purger->purge();
$em->getConnection()->exec('SET FOREIGN_KEY_CHECKS = 1;');
Однако данный участок выполнятся 10-20 секунд, что как то многовато для каждого теста.
Но если удалить $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE); то очищение будет через delete и гораздо быстрее. Примерно 100мс.
Как уменьшить время выполнения скрипта, или какой другой способ чистки БД?