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

执行pnpm prisma migrate dev时遇P1000认证失败问题求助

问题:Prisma迁移时PostgreSQL认证失败(Error P1000)

执行命令api git:(main) ✗ pnpm prisma migrate dev时出现认证失败错误:

Error: P1000:localhost上的数据库服务器认证失败,提供的postgres凭证无效。

系统已正确加载.env环境变量和prisma/schema.prisma架构文件,数据源指向localhost:2010的PostgreSQL数据库postgres。此外prisma generate和prisma studio命令可正常执行,但无法添加数据记录。

相关配置文件

1. docker-compose.yml

version: '3.8'

services:
  db:
    container_name: parkngo_db
    image: postgres
    restart: always
    ports:
      - 2010:5432
    environment:
      POSTGRES_USER: postgres
      POSTGRES_DB: postgres
      POSTGRES_PASSWORD: passcode
    volumes:
      - db_data_parkngo:/var/lib/postgresql/data
volumes:
  db_data_parkngo:

2. .env

DATABASE_URL="postgresql://postgres:passcode@localhost:2010/postgres?schema=public"

3. schema.prisma

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model User {
  uid          String        @id
  createdAt    DateTime      @default(now())
  updatedAt    DateTime      @updatedAt

  name         String?
  
  Credentials  Credentials?
  AuthProvider AuthProvider?
  Admin        Admin?
}
// other models

已完成的排查

  • .env文件位置正确
  • Docker在2010端口正常运行
  • PostgreSQL服务运行正常(端口2010映射至容器内5432)

解决办法

1. 重置数据库卷(解决缓存凭证问题)

容器首次启动时会初始化数据库凭证,若后续修改配置但卷未更新,会导致凭证不匹配:

# 停止并删除容器
docker-compose down
# 删除数据库卷
docker volume rm parkngo_db_data_parkngo
# 重新启动容器
docker-compose up -d

2. 直接测试数据库连接

用psql工具直接连接,验证凭证有效性:

psql -h localhost -p 2010 -U postgres -d postgres

输入密码passcode,若能进入数据库则凭证没问题;若失败,查看容器日志排查数据库初始化问题:

docker logs parkngo_db

3. 修正.env文件格式

移除DATABASE_URL的引号,部分环境下引号会被解析为URL的一部分:

DATABASE_URL=postgresql://postgres:passcode@localhost:2010/postgres?schema=public

修改后重启终端,重新执行pnpm prisma migrate dev。

4. 强制指定.env文件路径

确保Prisma读取正确的.env文件,执行命令时显式指定:

pnpm prisma migrate dev --env-file .env

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:52:21