@ gpilotino Да, у меня похожая проблема. Кажется, НЕТ СПОСОБА удалить и перестроить базу данных изнутри PHPUnit (будущее тестирования Symfony).
Может быть, это возможно в «извести», я не знаю.
Итак, мне нужно написать функцию reverse -> save (), которая возвращает все данные из базы данных, а затем сбрасывает все последовательности, чтобы я мог провести автоматическое тестирование.
Для тех, кто не хочет следовать за моим разочарованием, я попробовал оба:
1) используя задачу изнутри Symfony:
$optionsArray=array();
$argumentsArray=array();
$optionsArray[]="--all";
$optionsArray[]="--and-load";
$optionsArray[]="--no-confirmation";
$task = new sfDoctrineBuildTask($configuration->getEventDispatcher(), new sfFormatter());
$task->run($argumentsArray, $optionsArray);
2) Выполнение этого извне Symfony внутри PHP:
Doctrine_Manager::getInstance()->getCurrentConnection()->close();
exec('./symfony doctrine:build --all --and-load --no-confirmation');
Причина, по которой я закрыл соединение, заключается в том, что Postgres, MDBOC (мой БД выбора) не будет удалять базу данных, которая имеет соединение. Вероятно, это все еще какая-то проблема. Я говорю вам, это НИКОГДА не так просто, как показывают простые уроки. И это даже хуже, с продуктами с микрослочками.