php - Symfony:基表或视图已经存在:1050 表'migration_versions'已经存在
问题描述
我对我的迁移版本做了一些可怕的错误,现在从迁移文件夹中删除了版本,当我尝试运行与迁移有关的任何内容时出现此错误。有人能指出我从哪里开始解决这个问题吗?
如果我删除数据库然后make:migration
,该migration_versions
表将出现在 db 中。之后,如果我尝试运行
php bin/console doctrine:migrations:migrate
我得到错误:
In AbstractMySQLDriver.php line 38:
An exception occurred while executing 'CREATE TABLE migration_versions (version VARCHAR(14) NOT NULL, executed_at
DATETIME NOT NULL COMMENT '(DC2Type:datetime_immutable)', PRIMARY KEY(version)) DEFAULT CHARACTER SET utf8mb4 COLL
ATE `utf8mb4_unicode_ci` ENGINE = InnoDB':
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'migration_versions' already exists
In PDOConnection.php line 43:
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'migration_versions' already exists
In PDOConnection.php line 41:
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'migration_versions' already exists
如果我然后从数据库中删除该表,我就可以运行php bin\console doctrine:migrations:migrate
良好。但是,当尝试运行任何进一步的make:migration
/命令时,我得到与先前说明该表存在doctrine:migrations:migrate
的相同错误。migration_versions
解决方案
由于我的配置中的 schema_filter,我也遇到了同样的问题。我的学说.yaml 文件(Symfony 4)有以下内容:
doctrine:
dbal:
schema_filter: ~^(table_1|table_2|table_3)$~
我必须像这样简单地将“migration_versions”添加到模式过滤器中:
doctrine:
dbal:
schema_filter: ~^(migration_versions|table_1|table_2|table_3)$~
推荐阅读
- amazon-web-services - 如何在 s3 中解压缩 zip 文件
- java - 如何修复“probeid = 337 Stack Dump = java.io.IOException:异步 IO 操作失败,原因:RC:107 传输端点未连接”
- python - 安装 python3-devel 时的事务检查错误
- python - 计算 Pandas 中几列的非空值百分比
- android - SQL 查询以查看导致卸载但没有结果的事件
- maven - Maven surefire 插件报告 - 文件名太长
- functional-programming - 如何根据条件从一个 TaskEither 切换到另一个 TaskEither
- .net-core - 如何在使用 Azure AD 身份验证请求 API 时修复 CORS 错误
- html - 如何在颤动中从本地html文件中的链接开始新页面
- node.js - 如何在 pkg 中要求 file.node