Prisma Client提示Property 'create' does not exist,Board模型create方法不可用
问题根因
你当前遇到的Property 'create' does not exist on type 'BoardDelegate'.ts(2339)错误,核心原因和你给createdAt、updatedAt字段添加的@ignore装饰器直接相关:
@ignore会让Prisma Client在类型层面完全忽略对应字段,不会在生成的类型定义中暴露。虽然你给两个时间字段设置了自动生成规则(@default(now())、@updatedAt),但Prisma的校验逻辑会判定@ignore的必填字段无法在创建操作中完成赋值,因此会自动隐藏create、createMany这类写入方法,仅保留查询类方法,这就是其他方法正常唯独create不存在的原因。- 你新增
updatedAt字段后未执行prisma generate重新生成Prisma Client,也会导致TS类型不同步,触发类型报错。
修复方案
- 移除
createdAt、updatedAt字段上的@ignore装饰器:如果不需要在接口返回中透出这两个字段,可在查询时通过select参数指定返回字段,不要在模型层用@ignore修饰。 - 执行
npx prisma generate命令重新生成Prisma Client及对应TS类型定义。 - 重启TS语言服务(VSCode环境可按
Ctrl+Shift+P执行「TypeScript: Restart TS Server」命令),确认create方法的代码补全恢复正常。
仅create方法缺失的其他常见场景
- 模型未定义主键:Prisma要求每个模型必须配置主键才能生成写入类方法,无主键的模型仅会生成查询类方法。
- 模型中存在无默认值、不允许为
null的必填字段,且该字段被@ignore修饰:Prisma判定创建操作无法完成该字段的赋值,因此隐藏写入方法。 - 生成Prisma Client时指定了仅生成查询能力的客户端,未包含写入能力。
- Prisma Schema中存在大小写冲突的重名模型,导致生成的类型定义异常。
- 项目中存在多版本Prisma Client依赖,导致类型引用混乱。
内容的提问来源于stack exchange,提问作者kylar13
相关产品推荐
相关产品推荐

