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