Symfony Make:迁移:元数据存储不是最新的,请运行 sync-metadata-storage 命令来解决此问题

2022-08-30 10:12:31

每次我尝试使用命令行进行迁移时,我都会遇到此问题:或者甚至当我尝试时,他们告诉我,我仍然会收到相同的错误消息。php bin/console make:migrationdoctrine:migration statusdoctrine:migration:sync-metadata-storage

我目前正在学习symfony,并一直在遵循指南,但我以某种方式遇到了这个问题 Symfony 4.4 php 7.2


答案 1

尝试将 .env 中的DATABASE_URL从

DATABASE_URL=mysql://root:@127.0.0.1:3306/testtest?serverVersion=10.4.11

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

Symfony 文档建议指定版本号,但不要指定数据库类型

“在config/packages/doctrine.yaml中,你可以配置更多选项,包括你的server_version(例如,如果你使用的是MySQL 5.7,则为5.7),这可能会影响Toriness的工作方式。https://symfony.com/doc/current/doctrine.html

原始答案:https://github.com/doctrine/DoctrineMigrationsBundle/issues/337#issuecomment-645390496

对于MariaDB,您将需要完整的semver兼容版本:Major.Minor.Patch。通过执行 ,您将获得当前正在运行的正确版本。mysql --version


答案 2

对我来说,在服务器版本前面加上mariadb-x.x.x就足够了。它解决了这个问题。

“如果您正在运行 MariaDB 数据库,则应在 serverVersion 前面加上 mariadb- 前缀(例如:mariadb-10.2.12)。

https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url


推荐