Skip to main content

prisma-upgrade-v7-env-variables

Environment Variables

Zur Installation springen

Quellinformationen

Repository
prisma/cursor-plugin
Letzte Quellaktivität
6. Februar 2026 um 14:17
Erkannte Sprache von SKILL.md
Englisch
Sterne
10
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
prisma-upgrade-v7-env-variables
description
Environment Variables
license
MIT
metadata
{"author":"prisma","version":"7.0.0"}
# Environment Variables Prisma v7 no longer automatically loads environment variables. You must load them explicitly. ## The Change ### v6 Behavior Prisma CLI automatically loaded `.env` files. ### v7 Behavior You must manually load environment variables using `dotenv` or similar. ## Setup ### 1. Install dotenv ```bash npm install dotenv ``` ### 2. Import in prisma.config.ts ```typescript import 'dotenv/config' // Must be first import import { defineConfig, env } from 'prisma/config' export default defineConfig({ datasource: { url: env('DATABASE_URL'), }, }) ``` ## Bun Users Bun automatically loads `.env` files. No additional setup needed: ```typescript // prisma.config.ts (Bun) import { defineConfig, env } from 'prisma/config' export default defineConfig({ datasource: { url: env('DATABASE_URL'), }, }) ``` ## Multiple .env Files ### Using dotenv-cli ```bash npm install -D dotenv-cli ``` ```json { "scripts": { "db:migrate": "dotenv -e .env.local -- prisma migrate dev", "db:push": "dotenv -e .env.development -- prisma db push" } } ``` ### Using dotenv with path ```typescript // 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'), }, }) ``` ## Application Code For your application, load env vars at startup: ### Entry point ```typescript // 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 }) ``` ### Or use dotenv explicitly ```typescript import { config } from 'dotenv' config() // Now process.env.DATABASE_URL is available ``` ## Removed Environment Variables 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) | ## TypeScript env() Helper The `env()` function from `prisma/config` provides type safety: ```typescript 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. ## CI/CD Considerations Ensure environment variables are set in your CI environment: ```yaml # 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.
Auf GitHub ansehen