跳到主要内容

使用 TypeScript 和 PlanetScale 连接现有数据库

连接你的数据库

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

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

你还需要在 datasource 块中将关联模式类型设置为 prisma

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

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

.env
DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict"

现在你需要调整连接 URL,使其指向你自己的数据库。

连接 URL

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

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

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

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

对于 PlanetScale 托管的数据库,连接 URL 类似于这样

.env
DATABASE_URL="mysql://myusername:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict"

特定数据库分支的连接 URL 可以在你的 PlanetScale 账户中找到,方法是前往该分支的概览页面并选择“连接”下拉菜单。在“密码”部分,生成新密码并选择“Prisma”以获取 Prisma 格式的连接 URL。

替代方法:使用 PlanetScale CLI 连接

或者,你可以使用PlanetScale CLI连接到你的 PlanetScale 数据库服务器,并使用本地连接 URL。在这种情况下,连接 URL 将如下所示

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

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

pscale connect prisma-test branchname --port PORT

如果你使用默认端口 3306,可以省略 --port 标志。

© . All rights reserved.