Magento 2 SQLSTATE [HY000]:常规错误:1823无法添加外键约束

时间:2018-06-04 23:44:23

标签: magento swagger

大家好,我的Magento 2商店出现了错误。例如API请求失败,Swagger提供500,Stylesheets和JS文件将无法加载等。

最后,我发现使用新主题文件创建全新Magento安装的最佳解决方案,只需从文件中复制pub/media,然后使用维护模式删除所有以customers_为前缀的表,{{1 },catalog_sales_

这一步使我的新商店运作良好,但我遇到了新的错误..我无法运行eav_它显示的消息包含:

setup:upgrade

运行[PDOException] SQLSTATE[HY000]: General error: 1823 Failed to add the foreign key constraint 'porosec_pororom/CAT_CTGR_PRD_CTGR_ID_CAT_CTGR_ENTT_ENTT_ID' to system tables

时出错

enter image description here

发生以前消息的命令

enter image description here

当我运行php -f bin/magento setup:db-schema:upgrade时,它会更新许多依赖项,但需要运行composer update

Swagger错误500

enter image description here

  

{“0”:“请升级您的数据库:运行\”bin / magento setup:upgrade \“   来自Magento根目录。\ n以下模块是   过时的:\ n \ nKlarna_Core数据:当前版本 - 4.1.5,所需版本    - 4.2.3 \ nKlarna_Ordermanagement数据:当前版本 - 4.1.2,所需版本 - 4.1.3“,”1“:”#0   /home/porosec/public_html/test/vendor/magento/framework/Interception/Interceptor.php(121):   的Magento \框架\模块\插件\ DbStatusValidator-> beforeDispatch(对象(Magento的\框架\ APP \ FrontController \拦截器),   对象(Magento的\框架\ APP \请求\ HTTP))\ n#1   /home/porosec/public_html/test/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73):   的Magento \框架\ APP \ FrontController \ Interceptor-> Magento的\框架\拦截\ {闭合}(对象(Magento的\框架\ APP \请求\ HTTP))\ N#2   /home/porosec/public_html/test/vendor/magento/framework/Interception/Interceptor.php(135):   的Magento \页缓存\模型\ APP \ FrontController \ BuiltinPlugin-> aroundDispatch(对象(Magento的\框架\ APP \ FrontController \拦截器),   Object(Closure),Object(Magento \ Framework \ App \ Request \ Http))\ n#3   /home/porosec/public_html/test/vendor/magento/framework/Interception/Interceptor.php(153):   的Magento \框架\ APP \ FrontController \ Interceptor-> Magento的\框架\拦截\ {闭合}(对象(Magento的\框架\ APP \请求\ HTTP))\ N#4   /home/porosec/public_html/test/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26):   的Magento \框架\ APP \ FrontController \ Interceptor-> ___ callPlugins( '调度',   数组,数组)\ n#5   /home/porosec/public_html/test/vendor/magento/framework/App/Http.php(135):   的Magento \框架\ APP \ FrontController \ Interceptor->调度(对象(Magento的\框架\ APP \请求\ HTTP))\ N#6   /home/porosec/public_html/test/generated/code/Magento/Framework/App/Http/Interceptor.php(24):   的Magento \框架\ APP \ HTTP->启动()\ N#7   /home/porosec/public_html/test/vendor/magento/framework/App/Bootstrap.php(256):   的Magento \框架\ APP \ HTTP \ Interceptor->启动()\ N#8   /home/porosec/public_html/test/index.php(39):   的Magento \框架\ APP \ Bootstrap->运行(对象(Magento的\框架\ APP \ HTTP \拦截器))\ N#9   {主要}”, “URL”: “/测试/招摇”, “SCRIPT_NAME”: “/测试/ index.php的”}

Swagger错误日志

enter image description here

这也是我在管理仪表板中获得的内容

管理面板错误

enter image description here

setup:upgrade

管理面板错误日志

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您已经备份了同一张表,并且外键约束与bkp表相同,而当前表mysql将抛出异常,则更改约束名称或删除现有约束。

约束名称不能相同。