2017-07-15 50 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