Warm tip: This article is reproduced from serverfault.com, please click

postgresql-将模型迁移到数据库Prisma时出错

(postgresql - Error when migrating models to database Prisma)

发布于 2020-12-20 21:10:30

我正在开始一个必须学习新技术的项目,我选择使用Prisma和Next.js构建全栈应用程序。我是第一次使用两者。我已经构建了带有React.js的前端应用程序,并对使用Next充满信心。但是,我很难开始使用Prisma。我在“从头开始”的指令下Prisma的年代和我卡上台阶“为你的数据模型映射到数据库模式,你需要使用PRISMA迁移CLI命令:”和我运行命令: npx prisma migrate dev --name init --preview-feature 我得到的错误:


P3014
Prisma Migrate could not create the shadow database. Please make sure the database user has permission to create databases.  More info: https://pris.ly/d/migrate-shadow. Original error: 
Database error: Error querying the database: db error: ERROR: permission denied to create database

我的数据库是postgresQL,它托管在heroku上。我的DATABASE_URL是从heroku上的配置复制/粘贴的。

这是我的.json依赖项:

  "name": "photo_album",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "prisma": "prisma",
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  },
  "dependencies": {
    "@prisma/client": "^2.13.1",
    "next": "10.0.3",
    "react": "17.0.1",
    "react-dom": "17.0.1"
  },
  "devDependencies": {
    "@prisma/cli": "^2.13.1"
  }
}

我尝试了Introspect但是,我的数据库当前没有表,这引发了错误。我尝试了npx pyramida migration save-在YouTube上看到的构建的实验性B / C。我尝试了npm install @ prisma / cli --save-dev b / c,它解决了stackoverflow上发布的相同问题。据说使用Docker的另一种解决方案。我还没有尝试过。

Questioner
Benjamin Higginbotham
Viewed
0
Ryan 2020-12-21 14:45:15

是的,这是当前的原因,因为Prisma需要权限来创建应用迁移的临时数据库,而Heroku托管数据库不提供该权限。你可以做的一件事是在本地安装Postgres并将其用于开发,另一种选择是从具有你所面临的相同问题的线程中遵循替代方法。