如何配置Doctrine迁移生成器忽略指定的cache_items表?
解决Doctrine迁移忽略
cache_items表的方法 有两种可靠方式可以让Doctrine迁移生成器跳过对cache_items表的检测:
方法一:配置Doctrine DBAL的Schema过滤
在config/packages/doctrine.yaml的DBAL配置段中添加schema_filter规则,用正则表达式排除指定表:
doctrine: dbal: # 保留原有数据库连接、驱动等配置 schema_filter: ~^(?!cache_items)$~
这个正则的作用是匹配所有不是cache_items的表,让Doctrine在生成迁移diff时完全忽略该表。如果需要排除多个表,可扩展正则:
schema_filter: ~^(?!cache_items|other_cache_table)$~
方法二:通过Doctrine Migrations配置排除表
在config/packages/doctrine_migrations.yaml中添加exclude_tables配置:
doctrine_migrations: # 其他迁移配置 exclude_tables: - cache_items
这种方式直接告诉迁移组件跳过指定表的对比操作,同样能避免生成不必要的DROP/CREATE语句。
配置完成后,重新执行symfony console doctrine:migrations:diff,生成的迁移文件就不会再包含cache_items表的操作了。
内容的提问来源于stack exchange,提问作者michnovka
相关产品推荐
相关产品推荐

