如何使用 prisma 2 或 3 和 nexus 模式生成同时生成生成的 crud 和“ondelete 级联”

Posted

技术标签:

【中文标题】如何使用 prisma 2 或 3 和 nexus 模式生成同时生成生成的 crud 和“ondelete 级联”【英文标题】:How to get both generated crud and 'ondelete cascade' using prisma 2 or 3 and nexus schema generation 【发布时间】:2022-01-07 19:24:29 【问题描述】:

我正在尝试使用 nexus 和 prisma 2 或 3 构建节点 graphql 服务器。我还使用 provider="nexus-prisma"。我认为我必须使用 prisma-nexus-plugin 因为这是我知道不必手动编写大量 crud 解析器并维护它们的唯一方法(experimentalCrud 选项)。这需要 2.23.0。但我的问题是,直到 2.26.0 才支持 prisma 中的“参照完整性”。是否有一组更好的库版本可以给我粗鲁和参考完整性?最后,我只想从我的 schema.prisma 构建一个像样的 graphql 服务器。 (已编辑)

【问题讨论】:

【参考方案1】:

有一个名为nexus-prisma 的新插件针对最新版本的 Prisma。但是,截至 2021 年 12 月,这仍处于早期预览阶段,尚未准备好投入生产。

作为一种可能的替代方案,TypeGraphQL 也有一个Prisma Plugin,它针对最新版本的 Prisma (~3.6.0)。我没有广泛使用它,但它似乎适合您的用例。

【讨论】:

我将我的项目基于我在这里找到的 typegraphql 示例设置:github.com/prisma/prisma-examples/tree/latest/typescript/… 注意:package.json 在此示例中已损坏,但通过将 prisma 和 prisma-client 版本交换为 3.6.0 可以轻松修复然后重新安装 node_modules。它运行良好,确实自动生成 crud 解析器并支持 prisma 3.6 'onDelete: Cascade' 谢谢 太棒了,很高兴我能帮上忙:D

以上是关于如何使用 prisma 2 或 3 和 nexus 模式生成同时生成生成的 crud 和“ondelete 级联”的主要内容,如果未能解决你的问题,请参考以下文章

使用 GraphQL、Nexus 和 Prisma 优化 SQL 查询

如何使用nexus-prisma做一个嵌套的变异解析器

Nexus Prisma - 如何在全球范围内使用 crud 处理 createdAt 和 updatedAt?

Prisma nexus crud 未正确生成模式

仅使用 prisma 和 nexus 检索所有者数据的可能性

将自定义 GraphQL 解析器和类型添加到 Prisma/Nexus 架构中