AppSync producing empty GraphQL blocks in schema
genehynson opened this issue · 1 comments
Discussed in #151
When trying to deploy my Prisma-AppSync project AWS complains that the GraphQL schema is invalid. I used @graphql-validate/cli on the schema and it errored saying with the following message: GraphQLError: Syntax Error: Expected Name, found "}"
. And pointed to this block in my schema:
input UserActivityWhereUniqueInput {
}
It does seem like this generated fragment is missing some content.
Here's the related part of my schema.prisma:
model User {
id Int @id @default(autoincrement())
username String @unique @db.VarChar(255)
password String @db.VarChar(255)
firstName String @db.VarChar(255)
lastName String @db.VarChar(255)
age Int?
gender String? @db.VarChar(255)
phoneNumber String? @db.VarChar(255)
photo Bytes?
bio String? @db.VarChar(255)
address String? @db.VarChar(255)
lat Float?
lon Float?
goal String? @db.VarChar(255)
memberSince DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
createdBy Int?
updatedBy Int?
role role @default(PARTICIPANT)
subscription subscription @default(FREE)
createdByUser User? @relation("createdBy", fields: [createdBy], references: [id])
createdUsers User[] @relation("createdBy")
updatedByUser User? @relation("updatedBy", fields: [updatedBy], references: [id])
updatedUsers User[] @relation("updatedBy")
createdUserActivities UserActivity[] @relation("createdBy")
updatedUserActivities UserActivity[] @relation("updatedBy")
UserActivity UserActivity[] @relation("userID")
}
model UserActivity {
userID Int
activityID Int
experienceLevelID Int
activityPositionID Int
hasCoached Boolean
interest Int
distance Int
createdAt DateTime @default(now())
createdBy Int
updatedAt DateTime @updatedAt
updatedBy Int
activity Activity @relation("activityID", fields: [activityID], references: [id])
createdByUser User @relation("createdBy", fields: [createdBy], references: [id])
updatedByUser User @relation("updatedBy", fields: [updatedBy], references: [id])
user User @relation("userID", fields: [userID], references: [id])
@@id([userID, activityID, activityPositionID])
}
Thanks @genehynson! Based on your Prisma Schema, the issue seems related to the use of a custom @@id
attribute in your UserActivity
model (similar to #149).
Replacing it with a classic id Int @id @default(autoincrement())
should temporarily solve the issue, until we release a proper fix for Prisma-AppSync.
Closing this issue in favour of #149. Will try ship a fix with the next release!