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

Hasura v2版本未生成常规表查询仅显示connection类型查询求助

Hasura v2 两项异常问题解决方案

1. query_root仅存在table_name_connection查询,无常规查询

原因

Hasura v2在数据库接入、旧版本元数据迁移时,部分场景会默认开启Relay模式,该模式仅暴露符合Relay规范的连接式查询,与v1默认生成常规查询的行为不一致。

解决方法

方案一(控制台修改单数据库配置):

  • 进入Hasura控制台,切换到「数据」标签页
  • 左侧选中目标数据库,点击顶部的「设置」选项卡
  • 找到「GraphQL API 配置」板块,取消勾选「启用 Relay 模式」
  • 点击保存后重新加载元数据,即可看到table_name、table_name_aggregate等常规查询

方案二(全局关闭Relay模式):
在docker-compose.yml的graphql-engine服务环境变量中添加如下配置,重启容器即可生效:

HASURA_GRAPHQL_ENABLE_RELAY_MODE: false

2. 查询返回结果中数字ID被哈希字符串替代

原因

Relay模式要求所有可查询对象具备全局唯一ID,因此会自动生成一个base64编码的全局通用id字段,该字段并非你表中存储的原生数字ID。

解决方法

  • 编写查询语句时,不要选择根节点下的通用id字段,展开目标表的字段列表,选择表中实际存储的原生ID列即可返回正常数字ID
  • 完成上一步Relay模式关闭操作后,自动生成的全局id字段会直接消失,后续查询返回的id默认就是原生数字ID

额外建议

你当前使用的v2.0.9属于v2早期版本,建议升级到v2最新稳定版,可规避很多版本特有的兼容性问题。如果修改配置后未生效,可尝试先取消追踪对应表,再重新触发追踪,强制元数据重新生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:36:04