使用Prisma+Supabase+Redwood迁移时遇P1001数据库连接错误
解决Prisma+Supabase+Redwood迁移时的P1001连接错误
你遇到的情况是本地应用能正常读写Supabase数据库,但执行yarn redwood prisma migrate dev时出现无法连接数据库的错误,以下是几个实用的排查和解决方法:
确认DATABASE_URL的格式正确性
检查.env里的DATABASE_URL是否有特殊字符未转义,比如密码里的@、#、$等需要URL编码(例如@转成%40)。即使dev命令能识别,Prisma的迁移工具可能对URL格式更严格。强制指定环境变量文件
尝试在命令中明确指定.env文件路径,确保Prisma能正确读取配置:yarn redwood prisma migrate dev --env-file .env直接使用Prisma原生命令
切换到项目的api目录,绕过Redwood的命令封装,直接运行Prisma迁移命令:cd api npx prisma migrate dev如果这个命令能成功,说明是Redwood命令封装的环境变量加载问题,可以后续排查Redwood的配置。
排查网络与防火墙
暂时关闭本地防火墙或安全软件,或者切换到手机热点网络,检查是否是本地网络拦截了5432端口的数据库连接请求。检查Supabase IP白名单
登录Supabase控制台,进入数据库设置页面,确认你的公网IP已添加到IP白名单中。虽然dev命令能连接,但迁移请求可能走了不同的网络路径,导致IP验证失败。清除Prisma缓存并重新安装依赖
删除api/node_modules/.prisma/client目录,然后重新安装依赖:rm -rf api/node_modules/.prisma/client yarn install之后再尝试执行迁移命令。
内容的提问来源于stack exchange,提问作者Nicolas Chusseau
相关产品推荐
相关产品推荐

