我有一个next.js应用程序设置prisma (v3.13)作为ORM。我正在测试一下。数据库托管,我得到这个错误时,试图与客户端连接。当我使用本地postgres数据库时,一切都按预期工作。我目前使用的连接字符串如下所示:
DATABASE_URL="postgresql://[username]:[password]@db.bit.io/[username]/[dbname]"
我试图运行prisma db push
并得到以下错误
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "eli-front/rankstl", schema "public" at "db.bit.io:5432"
Error: P1000: Authentication failed against database server at `db.bit.io`, the provided database credentials for `(not available)` are not valid.
Please make sure to provide valid database credentials for the database server at `db.bit.io`.
我假设问题的核心是由于错误的一部分,说credentials for '(not available)'
,好像有些东西没有正确加载。
使用失败的连接字符串与psql
工作完全正常,但不与prisma。
为了获得比特,需要做两件事。
- 数据库名称必须格式化为
username.dbname
而不是username/dbname
。一些。io支持许多不同的数据库名称分隔符,因为不同的客户端对数据库名称中允许的字符有不同的要求。 - 你必须在bit上创建第二个数据库。IO用作"影子数据库"。默认情况下,这是自动完成的——创建、使用和删除一个影子数据库。然而,大多数云数据库提供商不允许使用
CREATE DATABASE
,因此必须显式创建影子数据库。详情请参阅prisma文档。
查看位。有关如何设置最小工作连接的详细信息,请参阅有关与Prisma连接的io文档。