Hasura重命名GQL根字段未应用于关系聚合字段问题咨询
问题解答
问题属性说明
这不属于功能Bug,当前主流自动生成GraphQL Schema的工具(包括Hasura、PostGraphile、Supabase GraphQL等)均默认将「根级别字段命名」和「嵌套关联字段命名」做了拆分配置,你修改的根聚合字段规则不会自动同步到关联关系下的嵌套聚合字段。
调整嵌套聚合字段命名的方法
根据你使用的GraphQL服务框架,可选择对应配置方式:
- 若使用Hasura:
- 进入Categories表的「Relationships」管理页面
- 找到对应关联Projects的聚合关系条目,点击编辑
- 直接将名称字段修改为
ProjectsAggregate后保存,重载Schema即可生效
- 若使用基于PostGraphile的框架(如Supabase GraphQL):
可通过外键约束的注释自定义关联聚合字段名,执行如下SQL即可:
也可全局调整嵌套聚合字段的命名规则,将默认的snake_case加COMMENT ON CONSTRAINT projects_category_id_fkey ON projects IS E'@aggregateFieldName ProjectsAggregate';_aggregate后缀规则修改为你需要的大驼峰格式。
注意事项
修改完成后需重载GraphQL Schema才能生效,配置时注意不要和同层级下的其他字段重名,避免Schema生成冲突。
内容的提问来源于stack exchange,提问作者stoniemahonie
相关产品推荐
相关产品推荐

