Как изменить sql команды symfony doctrine при обновлении схемы? - PullRequest
0 голосов
/ 16 марта 2020

У меня возникает следующая ошибка при попытке обновить схему базы данных:

SQLSTATE[HY000]: General error: 1833 Cannot change column 'IdEcole': used in a foreign key constraint 'appartient_ibfk_2' of table 'tuteure.appartient' 

Однако у меня нет ничего, что делает IdEcole AUTO_INCREMENT (в базе данных или в моих Entitites , только в миграциях.

Когда я выполняю следующую строку php bin/console doctrine:schema:update --dump-sql, я получаю следующий ответ:

ALTER TABLE Ecole CHANGE IdEcole IdEcole INT AUTO_INCREMENT NOT NULL;

Так, как я могу отредактировать эту строку, чтобы удалить ее? Где хранится эта строка и откуда она взята?

1 Ответ

0 голосов
/ 16 марта 2020

Наконец, найдите, откуда возникла проблема:

Symfony Doctrine используйте миграции для обновления вашего кода и базы данных. Итак, в моем последнем файле миграции (в src/Migrations файле с именем, например VersionNUMBER.php).

Я редактирую этот файл, который содержит два метода: up и down, и я просто удаляю строка:

ALTER TABLE Ecole CHANGE IdEcole IdEcole INT AUTO_INCREMENT NOT NULL;

И сделать простое:

php bin/console doctrine:migrations:execute NUMBERVERSION

Где NUMBERVERSION - это мой номер (имя файла migration и класс)

и после:

php bin/console doctrine:schema:update
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...