跳至主要内容

连接您的数据库

要连接您的数据库,您需要将 Prisma 架构中 datasource 块的 url 字段设置为您的数据库 连接 URL

prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}

请注意,prisma init 创建的默认架构使用 PostgreSQL 作为 provider。对于 PlanetScale,您需要编辑 datasource 块以使用 mysql 提供程序。

prisma/schema.prisma
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}

您还需要在 datasource 块中将关系模式类型设置为 prisma,以便在 模拟外键约束

schema.prisma
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
relationMode = "prisma"
}

注意:从 2024 年 2 月起,您可以选择在 PlanetScale 数据库设置中使用数据库级的外键约束,这样就不需要设置 relationMode = "prisma"

url 是通过在 .env 中定义的环境变量 设置的

.env
DATABASE_URL="mysql://janedoe:[email protected]/mydb?sslaccept=strict"

您现在需要调整连接 URL 以指向您自己的数据库。

您数据库的 连接 URL 格式 通常取决于您使用的数据库。PlanetScale 使用 MySQL 连接 URL 格式,其结构如下(所有大写字母的部分是您特定连接详细信息的占位符

mysql://USER:PASSWORD@HOST:PORT/DATABASE

以下是每个组件的简要说明

  • USER:您的数据库用户的名称
  • PASSWORD:您的数据库用户的密码
  • PORT:您的数据库服务器运行的端口(对于 MySQL 通常为 3306
  • DATABASE数据库 的名称

对于由 PlanetScale 托管的数据库,连接 URL 类似于以下示例

.env
DATABASE_URL="mysql://myusername:[email protected]/mydb?sslaccept=strict"

您可以从 PlanetScale 帐户中找到给定数据库分支的连接 URL,方法是转到分支的概述页面,然后选择“连接”下拉菜单。在“密码”部分,生成一个新密码,然后选择“Prisma”以获取 Prisma 格式的连接 URL。

替代方法:使用 PlanetScale CLI 连接

或者,您可以使用 PlanetScale CLI 连接到 PlanetScale 数据库服务器,并使用本地连接 URL。在这种情况下,连接 URL 将类似于以下示例

.env
DATABASE_URL="mysql://root@localhost:PORT/mydb"
info

建议将 .env 添加到您的 .gitignore 文件中,以防止提交您的环境变量。

要连接到您的分支,请使用以下命令

pscale connect prisma-test branchname --port PORT

如果您使用的是默认端口 3306,则可以省略 --port 标志。