使用 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"
}
注意:自 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 賬戶中找到,方法是訪問該分支的概覽頁面並選擇“Connect”下拉選單。在“Passwords”部分,生成一個新密碼並選擇“Prisma”以獲取 Prisma 格式的連線 URL。
替代方法:使用 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 標誌。