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

Prisma拆分Schema至多文件后执行generate命令失败的配置咨询

Prisma拆分Schema至多文件后执行generate命令失败的配置咨询

我来帮你解决这个问题~你遇到的情况是因为Prisma默认只会读取prisma根目录下的主schema.prisma文件,不会自动扫描子目录里的其他prisma文件,所以需要你显式地在主文件里引入这些拆分出去的模型文件才行,具体操作步骤如下:

  1. 保持主schema.prisma在prisma根目录(也就是你现在已经放的位置),不需要再移动它
  2. 在主schema.prisma文件的最顶部(或者任意位置,通常放在开头更清晰),添加对每个子模型文件的引用注释,语法是/// <reference path="相对路径" />。比如你有prisma/schema/user.prisma,就添加:
/// <reference path="./schema/user.prisma" />

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

如果还有其他子文件(比如post.prisma),就多加一行对应的引用:

/// <reference path="./schema/user.prisma" />
/// <reference path="./schema/post.prisma" />
  1. 检查子模型文件的写法:子文件里不需要再写datasource和generator块,只需要定义对应的model即可,比如user.prisma的内容应该是:
model User {
  id    Int     @id @default(autoincrement())
  name  String?
  email String  @unique
  // 其他字段或关联定义
}
  1. 完成以上配置后,重新运行npx prisma generate,Prisma就会识别所有被引用的子模型文件,正常生成客户端代码了

注意要确保引用的相对路径是正确的,路径是相对于主schema.prisma的位置来写的,你的子文件在prisma/schema/目录下,所以路径用./schema/xxx.prisma就没问题。你当前使用的Prisma 6.14.0完全支持这个引用语法,不用担心版本兼容问题。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 07:33:02