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

Strapi保存内容时触发唯一索引重复错误求助

解决Strapi 4.7.0保存内容时的唯一约束重复错误

这个错误的核心是Strapi的数据库迁移逻辑会重复尝试创建已存在的唯一约束,这类问题多发生在组件关联的中间表(比如报错里的account_landings_components)。以下是具体解决步骤:

  • 手动清理重复的数据库约束

    1. 连接到你的PostgreSQL数据库(使用psql、pgAdmin等工具)
    2. 先确认目标表的约束是否存在:
      SELECT conname FROM pg_constraint WHERE conrelid = 'account_landings_components'::regclass AND conname = 'account_landings_unique';
      
    3. 若查询返回结果,执行删除约束的命令:
      ALTER TABLE account_landings_components DROP CONSTRAINT account_landings_unique;
      

    提示:如果多个表出现同类报错,需要对每个报错的表和约束名重复上述操作

  • 清除Strapi本地缓存

    1. 停止Strapi服务
    2. 删除项目根目录下的.cache文件夹
    3. 若生产环境已构建过,同时删除build文件夹
    4. 重新启动Strapi,让系统重新完成数据库同步
  • 开发环境快速重置(谨慎使用)
    开发环境下如果数据可丢弃,可直接重置数据库来解决:

    npm run strapi db:reset
    

额外说明:Strapi 4.7.x版本存在数据库迁移相关的已知bug,后续升级到4.8及以上版本可避免这类问题,建议业务稳定后进行版本升级。

内容的提问来源于stack exchange,提问作者Bilal Rabbi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:22:38