如何解决使用 N 到 M 个恐慌查询 想法另一个观察:
重现步骤
日志
prisma-client { clientVersion: '2.13.1' }
prisma-client Error: PANIC: 1
prisma-client
prisma-client This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic.
prisma-client
prisma-client https://github.com/prisma/prisma-client-js/issues/new?body=Hi+Prisma+Team%21+My+Prisma+Client+just+crashed.+This+is+the+report%3A%0A%23%23+Versions%0A%0A%7C+Name++++++++++++%7C+Version++++++++++++%7C%0A%7C-----------------%7C--------------------%7C%0A%7C+Node++++++++++++%7C+v12.18.3+++++++++++%7C+%0A%7C+OS++++++++++++++%7C+undefined%7C%0A%7C+Prisma+Client+++%7C+2.13.1+++++++++++++%7C%0A%0A%0A%0A%23%23+Logs%0A%60%60%60%0A++prisma-client+%7B+clientVersion%3A+%272.13.1%27+%7D++%0A%60%60%60&title=PANIC%3A+1&template=bug_report.md
prisma-client
prisma-client If you want the Prisma team to look into it,please open the link above ?
prisma-client
prisma-client at NodeEngine.handleRequestError (C:\Users\TreNr\AppData\Roaming\Prisma\Studio\e5cd9139\runtime\index.js:26642:21)
prisma-client at C:\Users\TreNr\AppData\Roaming\Prisma\Studio\e5cd9139\runtime\index.js:27295:36
prisma-client at processTicksAndRejections (internal/process/task_queues.js:97:5)
prisma-client at async PrismaClientFetcher.request (C:\Users\TreNr\AppData\Roaming\Prisma\Studio\e5cd9139\runtime\index.js:78094:24)
prisma-client at async X:\dev\familytreebackend\node_modules\@prisma\cli\build\index.js:104367:25
prisma-client at async X:\dev\familytreebackend\node_modules\@prisma\cli\build\index.js:104350:22
prisma-client at async Photon.request (X:\dev\familytreebackend\node_modules\@prisma\cli\build\index.js:104391:34)
prisma-client at async PhotonService.respond (X:\dev\familytreebackend\node_modules\@prisma\cli\build\index.js:104569:38)
prisma-client at async Object.StudioServer2.onWSMessage [as callback] (X:\dev\familytreebackend\node_modules\@prisma\cli\build\index.js:104717:29) +30s
prisma-client { clientVersion: '2.13.1' } +5s
- 使用婚姻和用户之间的 n 到 m 关系创建数据库架构
...
model User {
id Int @id @default(autoincrement())
forename String
lastname String
marriages Marriage[]
}
model Marriage {
id Int @id @default(autoincrement())
users User[]
}
- 迁移并启动工作室
npx prisma migrate dev --preview-feature
npx prisma studio
-
创建 2 个用户并在他们之间建立婚姻
-
查询用户
出现以下错误 https://github.com/prisma/prisma-client-js/issues/955
想法
似乎与prisma.user.findMany()
有直接关系。
用作查询时
Query: {
users: (_,__,context) => {
const pc: PrismaClient = context.prisma;
return pc.user.findMany({ include: { marriages: true } });
},user: async (_,args,context) => {
const pc: PrismaClient = context.prisma;
const users = pc.user.findUnique({ where: { id: parseInt(args.id) },include: { marriages: true } });
return users;
}
}
- 失败
query {
users {
id
marriages {
id
}
}
}
- 作品
query {
user(id: 1) {
id
marriages {
id
}
}
}
另一个观察:
只有在将婚姻与 findMany 结合使用时才会发生这种情况。
users: (_,context) => {
const pc: PrismaClient = context.prisma;
return pc.user.findMany({ include: { marriages: true } });
}
如果不包含没有错误。如果它包含在 findUnique 中,它也可以工作
解决方法
上面观察到的问题似乎是最新版本中的一个错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。