管理 .env 檔案及設定變數
Prisma ORM 會在專案初始化時使用 prisma init
為您建立一個 .env
檔案。您不限於使用該檔案,其他選項包括
- 不要使用
.env
檔案,讓 Prisma ORM 直接使用系統環境變數 - 使用 Prisma CLI 預設 不會檢查的位置中的
.env
檔案 - 使用多個
.env
檔案
直接使用系統環境
由於 Prisma ORM 在尋找環境變數時會從系統環境讀取,因此可以完全略過使用 .env
,並在您的本機系統上手動建立它們。
以下範例將使用設定 DATABASE_URL
環境變數,該變數通常用於資料庫連線網址。
在 Mac/Linux 系統上手動設定環境變數
在 Unix 機器(Mac/Linux)上的終端機中,您將變數匯出為鍵值對。
export DATABASE_URL=postgresql://test:test@localhost:5432/test?schema=public
然後使用 printenv
檢查是否已成功設定
printenv DATABASE_URL
postgresql://test:test@localhost:5432/test?schema=public
在 Windows 系統上手動設定環境變數
以下範例說明如何根據您的偏好,使用命令提示字元 (cmd.exe
) 和 PowerShell 來設定環境變數(針對目前使用者)。
- 命令提示字元
- Powershell
set DATABASE_URL="postgresql://test:test@localhost:5432/test?schema=public"
[Environment]::SetEnvironmentVariable("DATABASE_URL", "postgresql://test:test@localhost:5432/test?schema=public")
然後檢查是否已成功設定
- 命令提示字元
- Powershell
set DATABASE_URL
Get-ChildItem Env:DATABASE_URL
手動管理 .env
檔案
如果您想手動管理您的 .env
檔案,可以使用 dotenv-cli
和 dotenv
套件。
它們允許您
- 使用多個
.env
檔案 - 使用 Prisma CLI 預設 不會檢查的位置中的
.env
檔案
透過命令列使用 dotenv-cli
以下步驟說明如何使用 dotenv-cli
套件,使用替代檔案來包含環境變數,而不是 Prisma ORM 建立的預設 檔案,然後用於執行內省。
-
安裝
dotenv-cli
npm install -g dotenv-cli
-
在您專案的根資料夾中建立一個檔案,例如
.env3
。 -
若要使用
.env3
檔案,您可以在執行任何 Prisma ORM 命令時使用dotenv
,並指定要使用的.env
檔案。以下範例使用名為.env3
的檔案dotenv -e .env3 -- npx prisma db pull
注意:dotenv 預設不會將旗標傳遞給 Prisma ORM 命令,這就是為什麼命令在
prisma
之前包含兩個破折號--
的原因,使其可以使用--force
、--schema
或--preview-feature
等旗標。
透過應用程式碼使用 dotenv
以下步驟說明如何使用 dotenv
套件在您專案的程式碼中參考替代的環境檔案。
-
將
dotenv
新增至您的專案npm install dotenv
-
在您專案的根資料夾中建立一個檔案,例如
.env3
。 -
若要使用
.env3
檔案,請在專案的進入檔案頂端包含對dotenv
的參考。import { config } from 'dotenv'
config({ path: '.env3' })