Backend & APIAttention7878/100

Prisma Upgrade V7 Env Variables (Prisma)

Environment Variables

ou envoie-le directement à ton agent.

Installer dans ton projet

$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs prisma-upgrade-v7-env-variables__prisma-cursor-plugin__skills-77cab21f2d66
Prisma
prisma/cursor-plugin
Contenu à copier
---
name: prisma-upgrade-v7-env-variables
description: Environment Variables
license: MIT
metadata:
  origin: Prisma
  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.
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Prisma Upgrade V7 Env Variables (Prisma)

run: npx prisma migrate deploy

Comment utiliser Prisma Upgrade V7 Env Variables (Prisma)

1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.

Déclencheurs pour Prisma Upgrade V7 Env Variables (Prisma)

Dis simplement à ton agent quelque chose comme :

Applique le skill prisma-upgrade-v7-env-variables__prisma-cursor-plugin__skills-77cab21f2d66 à cette tâche
Utilise prisma-upgrade-v7-env-variables__prisma-cursor-plugin__skills-77cab21f2d66 pour améliorer cette implémentation
Passe en revue ce sujet avec prisma-upgrade-v7-env-variables__prisma-cursor-plugin__skills-77cab21f2d66

Skills liés à Prisma Upgrade V7 Env Variables (Prisma)