You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopware 6.4.20.2升级至6.5.3.0时出现Doctrine错误

解决Doctrine升级时1091外键删除错误

问题根源

升级脚本尝试删除一个不存在的外键 fk.order_customer.salutation_id,导致MySQL抛出1091语法/权限错误。

解决步骤

  • 确认外键是否存在
    连接到目标数据库,执行以下SQL查询,检查order_customer表的所有外键:

    -- 方法1:查询系统表获取外键列表
    SELECT CONSTRAINT_NAME 
    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
    WHERE TABLE_NAME = 'order_customer' 
      AND CONSTRAINT_SCHEMA = '你的数据库名称';
    
    -- 方法2:查看表的完整创建语句,直接找FOREIGN KEY部分
    SHOW CREATE TABLE order_customer;
    

    检查结果中是否包含fk.order_customer.salutation_id这个外键。

  • 外键不存在时的处理
    找到升级脚本(或Doctrine迁移文件)中执行DROP FOREIGN KEY fk.order_customer.salutation_id;的代码行,直接注释或删除该行,然后重新运行升级向导。

  • 外键存在但名称不匹配时的处理
    如果查询到的外键名称和脚本里的不一致(比如大小写、符号差异),将脚本中的外键名替换为数据库中实际存在的名称,再执行升级。

  • Doctrine迁移同步问题
    如果是Doctrine自动生成的迁移文件,先执行以下命令检查实体元数据和数据库结构是否同步:

    doctrine:schema:validate
    

    根据校验结果调整实体类或迁移文件,确保元数据与实际数据库一致后再执行升级。

内容的提问来源于stack exchange,提问作者Christian Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 22:03:12