#graphql #hasura
#graphql #hasura
Вопрос:
mutation MyMutation($title: String!, $date: date!,$stime: timetz! , $etime: timetz!
) {
insert_schedules(objects: {title: $title , date: $date, start_time: $stime, end_time:$etime}) {
affected_rows
}
}`
Ошибка
{
"errors": [
{
"extensions": {
"path": "$.variableValues",
"code": "validation-failed"
},
"message": "no such type exists in the schema: 'timetz'"
}
]
}
Здесь я использую timetz, но он не работает.Даже использование time не работает.Что использовать.
Ответ №1:
Это потому type
start_time
, что столбцов и / или end_time
нет timetz
.
Есть два решения:
- изменение типа этих столбцов на timetz; может быть достигнуто путем запуска этого sql в качестве миграции
alter table schedules alter column start_time type timetz;
alter table schedules alter column end_time type timetz;
- или, если ваш столбец имеет тип timestamp с часовым поясом, вы можете просто сделать:
mutation MyMutation($title: String!, $date: date!, $stime: timestamptz!, $etime: timestamptz!) {
insert_schedules(objects: {title: $title, date: $date, start_time: $stime, end_time: $etime}) {
affected_rows
}
}
Хотя оба timetz
и timestamptz
поддерживаются hasura, timestamptz
хранит как дату, так и время с часовым поясом и является более рекомендуемым.
Проверьте эту страницу, чтобы узнать больше об их различиях.
https://www.postgresql.org/docs/current/datatype-datetime.html