我有一个 nextjs 项目,它使用 prismaDB 作为 ORM。我能够很好地连接到本地 postgres 数据库,但在运行时遇到此错误
npx prisma migrate
。
错误:P1001:无法访问位于
db-name.*.us-west-2.rds.amazonaws.com
的数据库服务器:5432
。
schema.prisma:
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
//url = "postgresql://master_username:master_password@aws_host:5432/db_name"
}
RDS 数据库当前是公开的,我确信我已正确复制 RDS 凭据。似乎没有任何我应该包含的连接工作,但我没有得到任何其他信息来说明为什么我无法到达数据库服务器。
似乎您必须将
db-name.*.us-west-2.rds.amazonaws.com
替换为实际数据库的名称,除非您是为了提出这个问题而替换它的。特别是写着db-name.*
的部分。
文档:https://www.prisma.io/docs/reference/api-reference/error-reference#common
P1001
表示在给定连接字符串的情况下找不到数据库,不一定是您提供的凭据错误。确保您指定了正确的数据库名称/主机以及使其适用于 AWS 所需的其他内容。
不知何故,我在第三次删除并创建新数据库后能够连接到RDS。我通过 pgAdmin 确认连接,然后再次尝试将我的应用程序部署到 vercel。