跳到主要內容

連線網址

Prisma ORM 需要連線網址才能連線到您的資料庫,例如當使用 Prisma Client 發送查詢或使用 Prisma Migrate 變更資料庫結構描述時。

連線網址透過您 Prisma schema 中 datasource 區塊的 url 欄位提供。它通常包含以下組件(SQLite 除外)

  • 使用者:您的資料庫使用者名稱
  • 密碼:您的資料庫使用者密碼
  • 主機:您的資料庫伺服器運行的機器的 IP 或網域名稱
  • 埠口:您的資料庫伺服器運行的埠口
  • 資料庫名稱:您想要使用的資料庫名稱

請確保在開始使用 Prisma ORM 時手邊有這些資訊。如果您還沒有運行的資料庫伺服器,您可以選擇使用本機 SQLite 資料庫檔案(請參閱 Quickstart)或使用 Prisma Postgres 設定免費的 PostgreSQL 資料庫

格式

連線網址的格式取決於您使用的資料庫連線器。Prisma ORM 通常支援每個資料庫的標準格式。您可以在專門的文件頁面找到更多關於您的資料庫連線網址的資訊

特殊字元

對於 MySQL、PostgreSQL 和 CockroachDB,您必須對連線網址的任何部分(包括密碼)中的特殊字元進行百分比編碼。例如,p@$$w0rd 變成 p%40%24%24w0rd

對於 Microsoft SQL Server,您必須逸脫特殊字元在連線字串的任何部分中。

範例

以下是 Prisma ORM 支援的資料庫的連線網址範例

PostgreSQL

schema.prisma
datasource db {
provider = "postgresql"
url = "postgresql://janedoe:mypassword@localhost:5432/mydb?schema=sample"
}

MySQL

schema.prisma
datasource db {
provider = "mysql"
url = "mysql://janedoe:mypassword@localhost:3306/mydb"
}

Microsoft SQL Server

schema.prisma
datasource db {
provider = "sqlserver"
url = "sqlserver://127.0.0.1:1433;initial catalog=sample;user=sa;password=mypassword;"
}

SQLite

schema.prisma
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}

CockroachDB

schema.prisma
datasource db {
provider = "cockroachdb"
url = "postgresql://janedoe:mypassword@localhost:26257/mydb?schema=public"
}

MongoDB

schema.prisma
datasource db {
provider = "mongodb"
url = "mongodb+srv://root:<password>@cluster0.ab1cd.mongodb.net/myDatabase?retryWrites=true&w=majority"
}

.env

您也可以將連線網址作為環境變數提供

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

然後,您可以選擇在終端機中設定環境變數,或提供一個名為 .envdotenv 檔案。Prisma CLI 將會自動讀取它。

Prisma ORM 在以下情況下從 dotenv 檔案讀取連線網址

  • 當它在建置時更新結構描述時
  • 當它在執行時連線到資料庫時
DATABASE_URL=postgresql://janedoe:mypassword@localhost:5432/mydb