DoctrineMigrationsBundle 3.0.1: хранилище метаданных устарело - PullRequest
0 голосов
/ 17 июня 2020

Я недавно получил эту ошибку при запуске bin/console doctrine:migrations:migrate:

Хранилище метаданных устарело, выполните команду sync-metadata-storage, чтобы исправить эту проблему.

Однако выполнение команды sync-metadata-storage дает ту же ошибку. Что я могу сделать?

Ответы [ 3 ]

1 голос
/ 18 июня 2020

Как упоминалось в этой проблеме GitHub , одним из возможных способов исправления является указание версии сервера MySQL в URL-адресе сервера:

DATABASE_URL=mysql://root:@127.0.0.1:3306/test?serverVersion=mariadb-10.4.11

Затем вы сможете запустить bin/console sync-metadata-storage command.

Подробнее об этой опции конфигурации в doctrine документации :

[…] вы можете передать опцию serverVersion со строкой версии c, указываемой поставщиком, которая соответствует версии сервера базы данных, которую вы используете […]

Если вы используете базу данных MariaDB, вы должны префикс serverVersion с помощью mariadb- (например: mariadb-10.2.12 ).

0 голосов
/ 19 июня 2020

Здравствуйте, чтобы я мог исправить свою проблему, просто удалив (? Versionname = 5.7) в database_url, и он работал нормально

0 голосов
/ 18 июня 2020

Мне пришлось понизить doctrine/doctrine-migrations-bundle до версии "^2.1"

Не уверен, применимо ли это здесь, но в последнее время у меня были проблемы с doctrine. Я сделал composer update, и с тех пор мой проект больше не запускался. Моя проблема была основана на новой версии следующего пакета:

https://symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html

Они реструктурировали файл doctrine_migrations.yaml, и у меня все еще была старая. Я попытался изменить содержимое на новую версию 3.0, но это привело именно к вашей ошибке.

Поскольку пакет поставляется с пакетом: symfony/orm-pack, вам сначала нужно распаковать, чтобы иметь возможность вручную изменить версию внутри вашего composer. json: composer unpack symfony/orm-pack

После распаковки вы увидите следующую строку внутри composer. json: "doctrine/doctrine-migrations-bundle": "*", которую я изменил на "doctrine/doctrine-migrations-bundle": "^2.1". Затем я снова запустил composer update. Вы можете указать только пакет миграции, если это все, что вы хотите обновить.

...