管理 .env 文件和设置变量
Prisma ORM 在使用 prisma init
初始化项目时会为您创建一个 .env
文件。您不限于使用该文件,其他一些选项包括
- 不使用
.env
文件,并让 Prisma ORM 直接使用系统环境变量 - 使用 Prisma CLI 默认情况下 不检查的位置的
.env
文件 - 使用多个
.env
文件
直接使用系统环境
因为 Prisma ORM 在查找环境变量时会读取系统的环境,所以可以完全跳过使用 .env
,并在本地系统上手动创建它们。
以下示例将使用设置 DATABASE_URL
环境变量,该变量通常用于数据库连接 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' })