如何在Heroku上使用Prisma 2 CLI



我已经在使用Prisma 2的Heroku上部署了NestJs应用程序,但当我运行命令时heroku bash上的npx prisma --version我得到了Prisma CLI version: prisma/1.34.10 (linux-x64) node-v14.15.0,但我已经安装了prisma 2.11.0,我想使用prisma 2 cli来内省我现有的数据库,并运行prisma generate。

我设法内省了我现有的数据库,并通过在脚本部分的package.json上添加heroku postbuild命令来运行prisma generate,如下所示:

{
"scripts": {
"heroku-postbuild": "prisma introspect && prisma generate"
}
}

现在,当我按下heroku时,将执行heroku-postbuild命令。

注意:默认情况下,Heroku在安装了package.json中dependencies和devDependencies下列出的所有依赖项后,将在部署应用程序之前剥离(修剪devDependencys(在devDependency下声明的包。

heroku-postbuild在Heroku安装依赖项之后运行,但在Heroku修剪和缓存依赖项之前运行。因此,为什么指定的棱镜内省&prisma-generate将使用package.json.上指定的prisma-cli

注意:要跳过devDependencies的修剪步骤,请将NPM_CONFIG_PRODUCTION设置为false,如下所示,这样我们就可以在运行时访问在devDependency下声明的包:

heroku config:set NPM_CONFIG_PRODUCTION=false

在将NPM_CONFIG_PRODUCTION设置为false之后,如果我们运行npx prisma --version,我们将从package.json 获得安装的版本

欲了解更多信息,请访问:https://devcenter.heroku.com/articles/nodejs-support#build-行为

相关内容

  • 没有找到相关文章

最新更新