#symfony #doctrine #database-migration #symfony4 #doctrine-migrations
#symfony #доктрина #база данных-миграция #symfony4 #doctrine-миграции
Вопрос:
моя проблема в том, что я хочу использовать
php bin/console make:migration
php bin/console doctrine:migrations:migrate
подход Symfony 4 к обновлению моей базы данных вместо использования:
php bin/console doctrine:schema:update --force
который работает нормально — по крайней мере, сказать.
Но когда я использую миграции, я все время получаю следующую ошибку в doctrine: migrations: команда migrate:
Комментарии:
1. это буквально говорит прямо там… таблица, которую вы пытаетесь создать, уже существует.
2. да, хорошо, но когда я удаляю его, он появляется снова, а затем у меня та же ошибка. И таблица ext_translations не моя. Его внутренняя таблица Symfony для переводов.
3. если вы не написали миграции самостоятельно, я бы посоветовал вам удалить все миграции (как и файлы), а затем позаботиться о том, чтобы ваши миграции не пытались создавать таблицы, которые создаются автоматически или которые существуют заранее.
4. Итак, это ошибка Symfony? — когда Symfony хочет снова и снова создавать таблицу ext_translations. Должен ли я сообщить об этом?
5. нет, я думаю, что ваши миграции … плохие. миграции используются для изменения существующей схемы базы данных на новую схему. ваши миграции предполагают, что ничего нет, и пытаются создать существующие таблицы. это просто совершенно бесполезно.
Ответ №1:
make:migration
команда, по-видимому, предназначена для создания схемы базы данных, когда ее вообще нет. (источник)
doctrine:migrations:diff
лучше подходит для создания дифференциальных миграций.
удачи.