首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UUID[]类型列的Graphql突变

UUID[]类型列的Graphql突变
EN

Stack Overflow用户
提问于 2017-07-16 07:07:19
回答 2查看 1.2K关注 0票数 2

我使用postgraphql自动生成的突变在postgres表的数据类型为UUID[]的列中使用graphql创建行。

然而,似乎没有一种方法可以用graphql保存这些UUID[]数据?这是graphql没有考虑到的数据类型,还是我错误地形成了数组?

当我在graphiql中创建行时:

代码语言:javascript
复制
mutation {
  createJob(
    input: {
      user_ids: ["5b7323ac-e235-4edb-bbf9-97495d9a42a1"], 
      instructions: "Job Instructions", 
      publishedDate: "2017-06-07"}
   }
 )
}

我得到以下错误:

代码语言:javascript
复制
"message": "column \"user_ids\" is of type uuid[] but expression is of type text[]"

从技术上讲,UUID是否不像文本那样存储?我尝试了形成UUID数组的不同方法,但似乎都不起作用

EN

回答 2

Stack Overflow用户

发布于 2017-07-16 07:35:30

您可能可以通过创建隐式转换来解决此问题

代码语言:javascript
复制
CREATE CAST (text[] AS uuid[])
    WITH INOUT
    AS IMPLICIT ;

PostgreSQL将自动完成从text[]uuid[]的转换;这似乎是必需的步骤。

注意:上面的代码必须从“uuid[]或text[]类型的所有者”执行,这通常意味着:postgres或数据库所有者。

要检查它是否正常工作,您只需执行以下操作:

代码语言:javascript
复制
CREATE TABLE t
(
   ids uuid[]
) ;

INSERT INTO t 
    (ids)
VALUES
    (ARRAY['5b7323ac-e235-4edb-bbf9-97495d9a42a1','5b7323ac-e235-4edb-bbf9-97495d9a42a2']),
    (ARRAY['6b7323ac-e235-4edb-bbf9-97495d9a42a1']) ;

..。然后,使用GraphQL测试它

票数 3
EN

Stack Overflow用户

发布于 2017-08-09 21:49:07

这是PostGraphQL中的一个错误;它已在版本4(尚未发布,但您可以通过npm install postgraphql@next安装)中修复。

更多信息:https://github.com/postgraphql/postgraphql/issues/516

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45123526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档