You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prisma v2 如何从schema.prisma生成可供编辑的.graphql文件?

Prisma v2+ 生成GraphQL Schema方案

Prisma v2及更高版本官方已经移除了内置的GraphQL Schema生成能力,你可以通过以下两种方式实现从schema.prisma生成GraphQL文件的需求:

  • 方案一:使用社区维护的Prisma生成器
    目前有多个成熟的社区生成器支持直接输出GraphQL SDL文件,操作步骤如下:
    1. 安装对应生成器依赖,以prisma-graphql-schema为例:
      npm install -D prisma-graphql-schema
    2. 在你的schema.prisma中新增生成器配置:
    generator graphql {
      provider = "prisma-graphql-schema"
      output   = "./generated/graphql.schema"
      // 可根据需求配置是否生成关联字段、标量映射规则等
    }
    
    1. 执行npx prisma generate,即可在配置的输出目录得到全量的GraphQL类型定义文件,你可以直接在此基础上删除不需要暴露的类型、字段,自行补充Query、Mutation定义即可。
  • 方案二:自定义脚本生成(灵活度更高)
    如果你不想依赖第三方包,也可以通过Prisma官方提供的元数据API自行生成:
    1. 安装@prisma/sdk依赖:
      npm install -D @prisma/sdk
    2. 编写简单的Node脚本读取schema.prisma的DMMF元数据,遍历所有模型、字段规则,拼接生成符合你要求的GraphQL SDL字符串,写入到指定.graphql文件即可,你可以在生成阶段直接过滤不需要暴露的内容,无需后续手动修改。

注意:生成的GraphQL类型默认会匹配Prisma的标量规则,比如DateTime、Json这类非标量类型,你需要在Apollo Server中提前注册对应的GraphQL自定义标量保证类型兼容。

内容的提问来源于stack exchange,提问作者CSSer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 16:24:10