[英]Graphql mutation for a column of type UUID[]
我正在使用postgraphql自动生成的突变在具有数据类型UUID []列的postgres表中的graphql中创建一行。
但是,似乎没有办法用graphql保存此UUID []数据吗? 这是graphql无法说明的数据类型,还是我错误地形成了数组?
当我在graphiql中创建行时:
mutation {
createJob(
input: {
user_ids: ["5b7323ac-e235-4edb-bbf9-97495d9a42a1"],
instructions: "Job Instructions",
publishedDate: "2017-06-07"}
}
)
}
我收到以下错误:
"message": "column \"user_ids\" is of type uuid[] but expression is of type text[]"
从技术上讲,UUID是否不像文本一样存储? 我尝试了各种方法来形成UUID数组,但似乎没有任何效果
你也许可以有一个解决此问题的创建隐式转换 :
CREATE CAST (text[] AS uuid[])
WITH INOUT
AS IMPLICIT ;
PostgreSQL将自动执行从text[]
到uuid[]
的转换; 这似乎是必需的步骤。
注意:上面的代码必须从“ uuid []或text []类型的所有者”执行,通常表示: postgres
或数据库所有者。
要检查其是否有效,您可以执行以下操作:
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
测试
这是PostGraphQL中的错误; 它已在版本4中得到修复(尚未发布,但是您可以通过npm install postgraphql@next
)
更多信息: https : //github.com/postgraphql/postgraphql/issues/516
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.