连接 URL
Prisma ORM 需要一个连接 URL 才能连接到你的数据库,例如,当使用 Prisma 客户端 发送查询或使用 Prisma Migrate 更改数据库架构时。
连接 URL 通过 Prisma 架构中 datasource
块的 url
字段提供。它通常包含以下组件(SQLite 除外)。
- 用户:你的数据库用户的名称
- 密码:你的数据库用户的密码
- 主机:运行数据库服务器的机器的 IP 或域名
- 端口:数据库服务器运行的端口
- 数据库名称:你想要使用的数据库的名称
确保你在开始使用 Prisma ORM 时手边有这些信息。如果你还没有运行数据库服务器,你可以使用本地 SQLite 数据库文件(参见 快速入门)或 在 Supabase 上设置一个免费的 PostgreSQL 数据库.
格式
连接 URL 的格式取决于你使用的数据库连接器。Prisma ORM 通常支持每个数据库的标准格式。你可以在专用文档页面上找到有关数据库连接 URL 的更多信息
特殊字符
对于 MySQL、PostgreSQL 和 CockroachDB,你必须 对连接 URL 中的任何部分(包括密码)进行百分比编码。例如,p@$$w0rd
变为 p%40%24%24w0rd
。
对于 Microsoft SQL Server,你必须 对连接字符串中的任何部分进行转义。
示例
以下是 Prisma ORM 支持的数据库连接 URL 的示例。
PostgreSQL
schema.prisma
datasource db {
provider = "postgresql"
url = "postgresql://janedoe:mypassword@localhost:5432/mydb?schema=sample"
}
MySQL
schema.prisma
datasource db {
provider = "mysql"
url = "mysql://janedoe:mypassword@localhost:3306/mydb"
}
Microsoft SQL Server
schema.prisma
datasource db {
provider = "sqlserver"
url = "sqlserver://127.0.0.1:1433;initial catalog=sample;user=sa;password=mypassword;"
}
SQLite
schema.prisma
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
CockroachDB
schema.prisma
datasource db {
provider = "cockroachdb"
url = "postgresql://janedoe:mypassword@localhost:26257/mydb?schema=public"
}
MongoDB
schema.prisma
datasource db {
provider = "mongodb"
url = "mongodb+srv://root:<password>@cluster0.ab1cd.mongodb.net/myDatabase?retryWrites=true&w=majority"
}
.env
你也可以将连接 URL 作为环境变量提供。
schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
然后,你可以在终端中设置环境变量,或者通过提供一个名为 .env
的 dotenv 文件来设置环境变量。这将被 Prisma CLI 自动拾取。
Prisma ORM 在以下情况下从 dotenv 文件中读取连接 URL
- 在构建时更新架构时
- 在运行时连接到数据库时
DATABASE_URL=postgresql://janedoe:mypassword@localhost:5432/mydb