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

Drizzle Kit迁移报错:Postgres用户密码验证失败求助

解决Drizzle-Kit Migrate时Supabase密码认证失败问题

错误核心原因

你遇到的是PostgreSQL密码认证失败错误(错误码28P01),问题出在Drizzle使用的数据库连接信息里,用户名被误填成了本地系统用户名AKANSHA DEO SHIVANSH,而非Supabase数据库的正确用户名,同时密码也可能不匹配。

解决方案步骤

  • 核对Supabase数据库连接信息
    登录Supabase控制台,进入对应项目的Settings > Database,找到Connection string(URI格式):

    • Supabase默认数据库用户名是postgres,不是你的本地系统账号名
    • 密码是你创建Supabase项目时设置的数据库密码,或在Database设置页重置后的密码
  • 修正Drizzle配置文件(drizzle.config.ts)
    确保配置文件正确读取Supabase的连接字符串,示例配置:

    import { defineConfig } from 'drizzle-kit';
    import * as dotenv from 'dotenv';
    
    dotenv.config();
    
    export default defineConfig({
      schema: './src/db/schema.ts',
      out: './drizzle',
      driver: 'pg',
      dbCredentials: {
        connectionString: process.env.DATABASE_URL!,
      },
    });
    

    不要手动拆分用户名和密码,直接使用Supabase提供的完整连接字符串,避免空格、特殊字符转义问题。

  • 检查环境变量(.env文件)
    确保.env里的DATABASE_URL是从Supabase复制的完整URI,格式示例:

    DATABASE_URL="postgres://postgres:your-db-password@db.your-project-ref.supabase.co:5432/postgres"
    

    替换your-db-password和your-project-ref为你项目的实际信息。

  • 重置Supabase数据库密码(可选)
    如果不确定密码是否正确,在Supabase控制台的Settings > Database中点击Reset password,设置新密码后更新到环境变量的连接字符串里。

  • 重新执行迁移命令
    确保环境变量加载正确,重新运行:

    drizzle-kit migrate
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:12:40