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

Prisma.schema新增Support模型后生产构建报Property does not exist错误

问题原因分析
  • 核心原因是生产服务器构建时未重新生成Prisma Client:Prisma Client是根据prisma.schema动态生成的代码,你新增Support模型后,只有重新执行生成命令,Prisma Client才会包含对应模型的类型定义和操作方法。本地开发时执行prisma migrate dev会自动触发Client生成,所以本地运行正常,但Plesk生产环境的构建流程缺少该步骤,导致旧版本的Prisma Client识别不到support属性,抛出TypeScript错误。
  • 关于迁移命令的区别:prisma migrate dev是本地开发专用命令,会执行迁移、更新开发库、同时生成Prisma Client,不可用于生产环境,可能造成生产数据丢失;prisma migrate deploy是生产环境迁移专用命令,仅执行已存在的迁移文件同步数据库结构,不会自动生成Prisma Client,所以仅执行该命令无法解决类型报错问题。
  • 次要可能原因:Plesk的构建缓存残留旧版本Prisma Client文件,或.gitignore规则错误导致最新的prisma.schema未推送到服务器。
解决方案
  1. 调整构建流程强制生成Prisma Client:在package.json中修改脚本,保证每次构建前都重新生成最新的Prisma Client,推荐加postinstall钩子,安装依赖后自动执行:
{
  "scripts": {
    "postinstall": "npx prisma generate",
    "build": "next build"
  }
}

也可以直接把生成命令加到build脚本前置:"build": "npx prisma generate && next build"。

  1. 生产环境迁移操作:每次推送包含Schema变更的代码时,构建完成后执行npx prisma migrate deploy同步生产数据库结构即可,不要执行prisma migrate dev。

  2. 清理缓存重试:如果配置后仍报错,进入Plesk的Node.js管理页清理构建缓存,再重新触发部署,避免旧的类型文件残留。

  3. 额外校验:确认你的.gitignore没有忽略prisma/schema.prisma文件,保证推送时服务器能拿到最新的Schema配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:18:04