跳到主要內容

連接您的資料庫

若要連接您的資料庫,您需要在您的 Prisma Schema 中將 datasource 區塊的 url 欄位設定為您的資料庫連線 URL

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

請注意,由 prisma init 建立的預設 Schema 使用 PostgreSQL 作為 provider。對於 PlanetScale,您需要編輯 datasource 區塊以改為使用 mysql provider

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

您還需要將關聯模式類型設定為 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 帳戶中找到,方法是前往該分支的概觀頁面並選取「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 旗標。