2017-07-15 80 views
0

我正在使用postgraphql自动生成的突变在具有一列数​​据类型UUID []的postgres表中创建一个具有graphql的行。对于UUID类型的列的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?

CREATE CAST (text[] AS uuid[]) 
    WITH INOUT 
    AS IMPLICIT ; 

PostgreSQL自动将:我已经通过创建隐式转换试图形成的UUID数组,但没有什么不同的方式似乎工作

回答

1

可以可能有一个解决此问题的做从text[]uuid[]的转换;这似乎是需要的一步。


注:上面的代码必须从执行“类型UUID的所有者[]或文本[]”,这通常意味着: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