連線網址
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")
}
然後,您可以選擇在終端機中設定環境變數,或提供一個名為 .env
的 dotenv 檔案。Prisma CLI 將會自動讀取它。
Prisma ORM 在以下情況下從 dotenv 檔案讀取連線網址
- 當它在建置時更新結構描述時
- 當它在執行時連線到資料庫時
DATABASE_URL=postgresql://janedoe:mypassword@localhost:5432/mydb