管理 .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' })