Data Connect GQL Schema初始化SDK失败:报错Unexpected Name 'query'
问题分析与修复方案
核心问题1:查询类型的语法错误
你写的query HelloWorlds { ... }是GraphQL的查询操作语句,不是Schema定义语法。Schema里需要定义Query类型来声明可用的查询字段,而不是直接写查询语句。
核心问题2:Schema缺少主键定义
你的Postgres表有id主键,但Schema中的HelloWorld类型既没有包含id字段,也没有用@primaryKey指定主键,Data Connect要求每个绑定表的类型必须明确主键。
修正后的完整Schema
type HelloWorld @table(name:"hello_world") { id: ID! @primaryKey message: String! } type Query { helloWorlds: [HelloWorld!]! @query(operation: LIST) }
关键修改说明
- 新增
id: ID! @primaryKey字段,和Postgres表的主键对应,同时用@primaryKey标记主键 - 把原来的查询语句改成
type Query类型定义,通过@query(operation: LIST)指定这是一个查询整张表的操作(Data Connect提供了LIST/GET等内置操作)
额外注意
你的Postgres建表语句缺少表名,修正后如下:
CREATE TABLE hello_world ( id uuid NOT NULL DEFAULT uuid_generate_v4(), message text, CONSTRAINT hello_world_pkey PRIMARY KEY (id) );
内容的提问来源于stack exchange,提问作者BulletCatcher
相关产品推荐
相关产品推荐

