如何在生产环境中运行 `prisma generate`?

12
我对Prisma在生产环境中的代码生成方式感到困惑。Prisma CLI应该被安装在devDependencies中,但是npx prisma generate命令需要在生产环境中可用,因为生成的代码对应用程序非常重要。我该如何解决这个问题?我尝试运行npm i --productionnpx prisma generate,但出现了预期的问题,即npx尝试自动安装Prisma,并获取Prisma 1而不是Prisma 2,然后期望存在一个不存在的prisma.yml文件。
3个回答

2

1
但是运行 prisma generate 命令,无论是自动还是手动完成,都需要安装 Prisma CLI。 - Robert Moore

1
这就是我在 package.json 文件中所做的(它是在 Versel 上部署 Next 应用程序)。我只是在构建脚本中添加了 generate 命令。
"scripts": {
    "dev": "next dev",
    "build": "prisma generate && next build",
    "start": "next start",
    "lint": "next lint"
  },

不确定这是否是正确的方式,虽然。。

0

Prisma有各种不同环境的安装指南。例如,这个指南讲述了如何在Vercel上安装。

https://www.prisma.io/docs/guides/deployment/deployment-guides/deploying-to-vercel

后安装钩子 package.json 使用 postinstall 钩子脚本来运行 prisma generate。通常这会在构建步骤中完成。因为 Vercel 在依赖项安装后缓存 node_modules,所以函数将无法访问生成的 Prisma Client。
在 postinstall 中生成 Prisma Client 可确保 node_modules/@prisma/client 中生成的 Prisma Client 对函数可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接