基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-env-variables命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | prisma-upgrade-v7-env-variables |
| description | Environment Variables |
| license | MIT |
| metadata | {"author":"prisma","version":"7.0.0"} |
Prisma v7 no longer automatically loads environment variables. You must load them explicitly.
Prisma CLI automatically loaded .env files.
You must manually load environment variables using dotenv or similar.
npm install dotenv
import 'dotenv/config' // Must be first import
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
},
})
Bun automatically loads .env files. No additional setup needed:
// prisma.config.ts (Bun)
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
},
})
npm install -D dotenv-cli
{
"scripts": {
"db:migrate": "dotenv -e .env.local -- prisma migrate dev",
"db:push": "dotenv -e .env.development -- prisma db push"
}
}
// prisma.config.ts
import { config } from 'dotenv'
import path from 'path'
// Load specific .env file
config({ path: path.join(__dirname, '.env.local') })
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
},
})
For your application, load env vars at startup:
// index.ts
import 'dotenv/config'
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL!
})
const prisma = new PrismaClient({ adapter })
import { config } from 'dotenv'
config()
// Now process.env.DATABASE_URL is available
These Prisma-specific env vars are removed in v7:
| Removed Variable | Alternative |
|---|---|
PRISMA_CLI_QUERY_ENGINE_TYPE | Not needed (no engines) |
PRISMA_CLIENT_ENGINE_TYPE | Not needed (no engines) |
PRISMA_QUERY_ENGINE_BINARY | Not needed |
PRISMA_QUERY_ENGINE_LIBRARY | Not needed |
PRISMA_GENERATE_SKIP_AUTOINSTALL | Not needed |
PRISMA_SKIP_POSTINSTALL_GENERATE | Not needed |
PRISMA_GENERATE_IN_POSTINSTALL | Not needed |
PRISMA_GENERATE_DATAPROXY | Use --no-engine flag |
PRISMA_GENERATE_NO_ENGINE | Use --no-engine flag |
PRISMA_CLIENT_NO_RETRY | Configure on adapter |
PRISMA_MIGRATE_SKIP_GENERATE | Not needed (auto-generate removed) |
PRISMA_MIGRATE_SKIP_SEED | Not needed (auto-seed removed) |
The env() function from prisma/config provides type safety:
import { env } from 'prisma/config'
// Type-safe environment variable access
const url = env('DATABASE_URL') // string
Note: This only works within prisma.config.ts, not in your application code.
Ensure environment variables are set in your CI environment:
# GitHub Actions
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
steps:
- run: npx prisma migrate deploy
No need for dotenv in CI if variables are set directly.