簡體   English   中英

UUID類型的列的Graphql突變

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM