使用 JavaScript 和 PlanetScale 连接现有数据库
要连接数据库,您需要将 Prisma 模式中 datasource
块的 url
字段设置为您的数据库连接 URL
prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
您还需要将 relation mode
类型设置为 prisma
,以便在 datasource
块中模拟外键约束
schema.prisma
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
relationMode = "prisma"
}
注意: 自 2024 年 2 月起,您可以选择在 PlanetScale 中使用数据库级别的外键约束,这将无需设置
relationMode = "prisma"
。
url
是通过环境变量设置的,该变量在 .env
中定义
.env
DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/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:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict"
给定数据库分支的连接 URL 可以在您的 PlanetScale 账户中找到,方法是转到该分支的概览页面并选择“连接”下拉菜单。在“密码”部分,生成一个新密码并选择“Prisma”以获取连接 URL 的 Prisma 格式。
替代方法:使用 PlanetScale CLI 连接
或者,您可以使用 PlanetScale CLI 连接到您的 PlanetScale 数据库服务器,并使用本地连接 URL。在这种情况下,连接 URL 将如下所示
.env
DATABASE_URL="mysql://root@localhost:PORT/mydb"
信息
我们建议将 .env
添加到您的 .gitignore
文件中,以防止提交您的环境变量。
要连接到您的分支,请使用以下命令
pscale connect prisma-test branchname --port PORT
如果您使用默认端口 3306
,则可以省略 --port
标志。