在嵌套对象上具有冲突约束的Upsert Graphql突变



我正试图在一个突变中进行追加启动。这里有两个表Users表[id,isVerified,type]和Customers表[id、name,deviceToken]这里,Customers.id是Users.id的外键。
下面是突变-

MyMutation {
insert_Users(objects: [{isVerified: false, name: "+9100000000", type: "customer", 
Customers: {data: {deviceToken: "TestToken001"}}}],
on_conflict: {
constraint: Users_name_key,
update_columns: [isVerified]
}) {
affected_rows
returning {
Customers{
deviceToken
}
}
}
} ```
//But when I run this, I get the exception 
{
"errors": [
{
"extensions": {
"path": "$.selectionSet.insert_Users.args.objects[0].Customers.data",
"code": "constraint-violation"
},
"message": "Uniqueness violation. duplicate key value violates unique constraint "Customers_pkey""
}
]
}

这似乎是因为我没有对嵌套的Customers对象设置冲突约束。如何为嵌套对象添加冲突约束?

您还需要在嵌套数据中添加约束对象。类似于:

MyMutation {
insert_Users(objects: [{isVerified: false, name: "+9100000000", type: "customer", 
Customers: {
data: {deviceToken: "TestToken001"}, 
on_conflict: {
constraint: Customers_pkey,
update_columns: [deviceToken]
}         
}}],
on_conflict: {
constraint: Users_name_key,
update_columns: [isVerified]
}) {
affected_rows
returning {
Customers{
deviceToken
}
}
}
} 

最新更新