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

Next.js中Prisma数据填充脚本执行失败求助

解决Next.js中npx prisma db seed找不到@/generated的问题

问题原因

ts-node默认不识别Next.js配置的@路径别名,导致seed脚本无法解析@/generated/prisma这个导入路径。

解决方案

方案1:用tsconfig-paths让ts-node识别路径别名

  1. 安装依赖:
npm install -D tsconfig-paths
  1. 修改prisma.config.ts中的seed命令,添加tsconfig-paths/register来加载路径别名配置:
// prisma.config.ts
import "dotenv/config";
import path from 'node:path'
import type { PrismaConfig } from 'prisma'

export default {
    schema: path.join('prisma'),
    migrations: {
        seed: 'ts-node -r tsconfig-paths/register prisma/db/seed.ts'
    }
} satisfies PrismaConfig
  1. 确保你的tsconfig.json中已经配置了@的路径映射(Next.js项目默认会有):
{
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}
  1. 重新执行seed命令:
npx prisma db seed

方案2:改用相对路径导入PrismaClient

直接修改prisma/db/seed.ts中的导入语句,用相对路径代替@别名:

// prisma/db/seed.ts
// 替换原来的@/generated/prisma为相对路径
import { PrismaClient } from '../../src/generated/prisma';
import instrumentSeeder from "./seeders/instrument";

// 剩余代码不变...

之后重新执行seed命令即可。

额外检查

  • 确保已经执行过npx prisma generate生成Prisma Client,确认src/generated/prisma目录存在且包含正确的文件。
  • 确认你的DATABASE_URL环境变量配置正确,能正常连接数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:33:17