php – 尝试测试Symfony 2 app时出现SQL错误 – 列已经存在,表缺失

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 尝试测试Symfony 2 app时出现SQL错误 – 列已经存在,表缺失脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在按照 herealso here所述的测试设置进行操作.当我尝试运行测试时,测试数据库正在创建过程中,我收到以下@L_512_3@:

查看我的实体,在SurveyHash实体中没有声明deletedAt索引两次,并且我有Pageimage和Setting的实体,但是这些表没有被创建,正如sqlITeman验证的那样.进一步的测试(参见下面其中一个答案中的注释)表明,由于多个表使用相同的索引名称,它会引发错误.

我的config_test.yML具有以下内容

doctrine:
   dbal:
       driver: pdo_sqlite
       path: %kernel.cache_dir%/test.db
       charset: UTF8
   orm:
       auto_generate_Proxy_classes: true
       auto_mapping: true

由于NDA,我可以分享数据库信息有点受限,所以我希望这些错误是上面链接或我的config_test.yml的结果.我正在使用Symfony 2.4.6,如果这有所不同.

解决方法

我认为你正在尝试做一个学说:schema:更新数据集有外键的表,或者你试图添加多个数据集.

你可以尝试的是删除数据库模式,重新创建它,然后用数据重新填充它.

所以首先做一个PHP app / console doctrine:schema:drop –force,然后PHP app / console doctrine:schema:create然后doctrine:fixtures:load.

我有同样的问题,这对我有用.

我只是飞过第一个链接而你正在做的是调用doctrine:schema:多次创建,当然因为你已经创建了它们而无法工作.你只能教条:架构:更新 – 强制它们或用drop / create重新创建!

回答

根据下面的评论这个答案错误是他给不同表上的不同索引命名相同,但索引中的名字必须是唯一的!

脚本宝典总结

以上是脚本宝典为你收集整理的php – 尝试测试Symfony 2 app时出现SQL错误 – 列已经存在,表缺失全部内容,希望文章能够帮你解决php – 尝试测试Symfony 2 app时出现SQL错误 – 列已经存在,表缺失所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。