hasura / hasura/graphql-engine
Support fragment or '*' as "update_columns" in on_conflict clause of insert mutation
- Dominant language
- TypeScript
- Stars
- 32.1k
- Forks
- 3k
- PR merge metrics
- PR metrics pending
Description
We have a use case where we want to upsert objects with large number of fields.
It is inconvenient to duplicate all fields in update_columns section.
It would be nice to use fragment or '*' in update_columns instead of all fields duplicate.
Example:
```
mutation upsert_article {
insert_article (
objects: [
{
id: 2,
title: "ex quis mattis",
content: "Pellentesque lobortis quam non leo faucibus efficitur",
published_on: "2019-10-12",
status_code: 1,
description: "descr",
format_code: 34,
internal_id: 55,
encoding_id: 56,
external_id: 57,
created_at: "2019-10-12",
language_id: 44,
nameversion_id: 55
}
],
on_conflict: {
constraint: article_pkey,
update_columns: article_fragment
}
) {
returning {
affected_rows
}
}
}
fragment article_fragment on article {
format_code
internal_id
encoding_id
external_id
created_at
language_id
nameversion_id
}
```
Contributor guide
Assessment
This issue has not been assessed yet.