Directus集合未在GraphQL编辑器中显示为Schema的问题求助
解决Directus GraphQL编辑器仅显示单个集合的问题
排查与修复步骤
- 检查集合GraphQL权限:登录Directus后台,找到不显示的集合,进入「权限」设置面板,确保已勾选「允许 GraphQL 访问」,同时当前使用的角色拥有该集合的「读权限」。
- 确认集合状态:只有「已发布」状态的集合会被纳入GraphQL Schema,检查目标集合是否处于「草稿」或「归档」状态,若有则切换为已发布。
- 核对GraphQL全局配置:在后台「设置」-「GraphQL」页面,确认是否开启了「包含系统集合」(如果需要显示系统集合),同时检查是否存在自定义的Schema过滤规则限制了集合显示。
- 清除缓存并重启服务:Directus会缓存GraphQL Schema,执行命令清除缓存后重启服务:
npx directus cache:clear - 检查字段权限:如果集合内所有字段都没有开启「读权限」,该集合也不会出现在Schema中。逐个检查集合字段的权限设置,确保至少有一个字段允许读取。
常见触发原因
- 角色权限配置遗漏:未给操作角色分配对应集合的GraphQL访问权限或读权限。
- 集合状态异常:草稿/归档状态的集合默认不参与Schema生成。
- 缓存未同步:新增或修改集合后,Directus缓存的旧Schema未更新。
- 字段权限全禁用:集合无可用可读字段,导致Schema不渲染该集合。
内容的提问来源于stack exchange,提问作者chr_lt_ney
相关产品推荐
相关产品推荐

