Symfony 信条:迁移:迁移。元数据存储不是最新的,请运行sync metadata storage命令来解决此问题
当我尝试迁移时,会出现以下异常:“元数据存储不是最新的,请运行sync metadata storage命令来解决此问题。”。这仅在尝试在生产环境上执行迁移时发生。当我使用Symfony 信条:迁移:迁移。元数据存储不是最新的,请运行sync metadata storage命令来解决此问题,symfony,doctrine,command-line-interface,production-environment,symfony5,Symfony,Doctrine,Command Line Interface,Production Environment,Symfony5,当我尝试迁移时,会出现以下异常:“元数据存储不是最新的,请运行sync metadata storage命令来解决此问题。”。这仅在尝试在生产环境上执行迁移时发生。当我使用原则:迁移:同步元存储命令时,它会引发相同的异常 原则_migrations.yaml: doctrine_migrations: # List of namespace/path pairs to search for migrations, at least one required migrations_
原则:迁移:同步元存储
命令时,它会引发相同的异常
原则_migrations.yaml:
doctrine_migrations:
# List of namespace/path pairs to search for migrations, at least one required
migrations_paths:
'DoctrineMigrations': '%kernel.project_dir%/migrations'
# List of additional migration classes to be loaded, optional
migrations:
# Entity manager to use for migrations. This overrides the "connection" setting.
em: default
storage:
# Default (SQL table) metadata storage configuration
table_storage:
table_name: 'doctrine_migration_versions'
version_column_name: 'version'
version_column_length: 1024
executed_at_column_name: 'executed_at'
execution_time_column_name: 'execution_time'
# Possible values: "BY_YEAR", "BY_YEAR_AND_MONTH", false
organize_migrations: false
# Path to your custom migrations template
custom_template: ~
# Run all migrations in a transaction.
all_or_nothing: false
我正在使用Symfony 5和doctrinDemogrationsBundle版本3.0来执行迁移任务。我通过在.env文件中添加maria db的版本使其正常工作
expl: serverVersion = 10.4.11-MariaDB
尝试删除.env文件上的服务器版本您需要更新数据库: php bin/控制台原则:模式:更新——转储sql 然后 php bin/控制台原则:模式:更新——强制
问题解决后,您可以报告它我使用DDEV并遇到相同的问题 .env文件中的此配置对我有效
DATABASE_URL=mysql://db:db@db:3306/db?serverVersion=10.4.11-MariaDB
我在使用MariaDB 10.3运行Symfony时遇到了完全相同的问题,我没有找到解决方法。然而,当我切换到PostgreSQL时,问题就消失了。当我显式地将mariadb的服务器版本添加到.env fileSymfony 5=>中时,这对我来说很有效,没有
serverVersion
参数,也可以正常工作。最好先刷新元数据:php bin/console原则:缓存:清除元数据
,以确保使用的是当前注释元数据而不是缓存的元数据。