Prisma中User表自关联配置报错,求排查解决方法
Prisma用户表自关联配置错误修复
你的问题出在自关联关系只定义了单向字段,Prisma要求同一模型的自关联必须明确双向的关联字段,否则无法识别关系的完整性。
修改后的正确模型配置如下:
model User { id BigInt @id(map: "user_pkey") @unique(map: "user_id_key") @default(autoincrement()) firstname String? @db.VarChar lastname String? @db.VarChar username String? @unique @db.VarChar email String? @db.VarChar password String? @db.VarChar organization String? @db.VarChar createdAt DateTime? @db.Timestamptz(6) updatedAt DateTime? @db.Timestamptz(6) parent_id BigInt? deletedAt DateTime? @db.Timestamptz(6) deleted_by BigInt? @@map("users") // 父级关联,指定关系名称和反向字段 parent User? @relation("UserParentChildren", fields: [parent_id], references: [id]) // 子级关联,作为反向字段对应parent children User[] @relation("UserParentChildren") }
关键修改点:
- 给
parent字段的@relation添加了自定义关系名称UserParentChildren - 添加了反向关联字段
children,同样关联到这个自定义关系名称
这样Prisma就能正确识别这是一个自关联的一对多关系:一个用户可以有多个子用户,一个子用户只能有一个父用户。
内容的提问来源于stack exchange,提问作者user19591368
相关产品推荐
相关产品推荐

