从数据库中删除表格后,Doctrine 显示“MappingException”。[Symfony]

3
早上好,我要告诉你我的情况。我在一个使用Symfony的项目中删除了一个表和外键。在导入映射(XML)并生成实体后,所有都是通过Symfony控制台自动完成的;当我访问项目的任何页面时,会显示以下异常,我无法理解:
Fatal error:  Uncaught exception 'Doctrine\Common\Persistence\Mapping\MappingException' with message 'Class 'Consolidador\PanelBundle\Entity\Clients' does not exist' in C:\xampp\htdocs\integracion-v2\vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\MappingException.php:96
Stack trace:
#0 C:\xampp\htdocs\integracion-v2\vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php(41): Doctrine\Common\Persistence\Mapping\MappingException::nonExistingClass('Consolidador\\Pa...')
#1 C:\xampp\htdocs\integracion-v2\vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php(281): Doctrine\Common\Persistence\Mapping\RuntimeReflectionService->;getParentClasses('Consolidador\\Pa...')
#2 C:\xampp\htdocs\integracion-v2\vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php(311): Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getParentClasses('Consolidador\\Pa...')
#3 C:\xampp\htdocs\integracion-v2 in C:\xampp\htdocs\integracion-v2\vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\MappingException.php on line 96

我检查了数据库是否正确生成,数据库中不再有任何外键或表引用。XML映射或实体也没有生成,所以我不明白为什么会出现这个异常。
希望你能帮助我。
向大家问候和感谢。
编辑:
清除缓存无法修复错误。
解决方法:
在Moon Eclipse IDE下工作,所以我启动了一个在整个项目中搜索的功能来寻找管理已删除表格的实体的使用位置。我删除了所有它出现的代码痕迹,重新生成了映射和实体,结果成功了。
我不确定发生了什么,但我认为这是因为它被用作防火墙中的提供程序。
感谢大家!

你执行了 php app/console cache:clear 吗? - Jovan Perovic
是的 @JovanPerovic 并返回此 >>> [Doctrine/Common/Persistence/Mapping/MappingException] 类'...\Clients'不存在。清除缓存无法修复错误,我应该在帖子中详细说明,抱歉。 - JSGarcia
1个回答

1

尝试使用 php app/console doctrine:generate:entities,然后使用 php app/console doctrine:schema:update --force。

如果您正在使用任何数据库缓存(如Memcache或Apc),请确保通过重新启动它们各自的服务器来清除它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接