Проблема в откате в Doctrine Migrations

Я использую Symfony 2.3.1, и я хочу развернуть свою базу данных с помощью DoctrineMigratios, но у меня возникли некоторые проблемы с функцией "up()". Если я попытаюсь выполнить этот пример:

$this->addSql("CREATE TABLE User (id INT AUTO_INCREMENT NOT NULL, name LONGTEXT DEFAULT NULL");
$this->addSql("CREATE TABLE User (id INT AUTO_INCREMENT NOT NULL, name LONGTEXT DEFAULT NULL");

У меня есть ошибка (конечно, та же самая таблица), но DoctrineMigrations не выполняет откат, и, наконец, в моей базе данных есть таблица "Пользователь". Не знаю, если это проблема моей конфигурации или проекта, или, возможно, ошибка DoctrineMigrations.

Кто-нибудь может мне помочь, пожалуйста?

1 ответ

Решение

Я думаю, что проблема не в доктрине. Если вы используете MySQL как RDBMS, пожалуйста, прочитайте о неявном коммите здесь:

Оператор CREATE TABLE в InnoDB обрабатывается как отдельная транзакция. Это означает, что ROLLBACK от пользователя не отменяет операторы CREATE TABLE, сделанные пользователем во время этой транзакции.

Другие вопросы по тегам