PrismaのschemaでHence the relation field must be optional as well.が出た

prismaスキーマ書いてた。

Userは1つのGroupに所属し、Groupは複数のUserを持つので "one to many" の関係性である。

Userは必ずしもGroupに所属しているとは限らない。

↓のようなshemaができた。

model User {
  groupId Int?
  group Group @relation(fields: [groupId], references: [id])
}

model Group {
  id Int @id @default(autoincrement())
  members User[]
}

これだと

"Error validating: The relation field group uses the scalar fields groupId. All those fields are optional. Hence the relation field must be optional as well."

というエラーが出る。

グループに所属していない可能性もあるので、groupIdはoptionalである。

にもかかわらず リレーションフィールドのgroupがoptionalになっていなかったが原因だった。

↓にすればエラーが消える

group Group? @relation(fields: [groupId], references: [id])