Проблема в откате в 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, сделанные пользователем во время этой транзакции.