Backend & APISûr100100/100

Prisma CLI DB Seed (Prisma)

prisma db seed. Reference when using this Prisma feature.

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-cli-db-seed__prisma-cursor-plugin__skills-e139ec3f84eb
Prisma
prisma/cursor-plugin
Contenu à copier
---
name: prisma-cli-db-seed
description: prisma db seed. Reference when using this Prisma feature.
license: MIT
metadata:
  origin: Prisma
  author: prisma
  version: "7.0.0"
---

# prisma db seed

Runs your database seed script to populate data.

## Command

```bash
prisma db seed [options]
```

## What It Does

- Executes your configured seed script
- Populates database with initial/test data
- Runs independently (not auto-run by migrations in v7)

## Options

| Option | Description |
|--------|-------------|
| `--config` | Custom path to your Prisma config file |
| `--` | Pass custom arguments to seed script |

## Configuration

Configure seed script in `prisma.config.ts`:

```typescript
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  migrations: {
    path: 'prisma/migrations',
    seed: 'tsx prisma/seed.ts',  // Your seed command
  },
  datasource: {
    url: env('DATABASE_URL'),
  },
})
```

### Common seed commands

```typescript
// TypeScript with tsx
seed: 'tsx prisma/seed.ts'

// TypeScript with ts-node
seed: 'ts-node prisma/seed.ts'

// JavaScript
seed: 'node prisma/seed.js'
```

## Seed Script Example

```typescript
// prisma/seed.ts
import { PrismaClient } from '../generated/client'

const prisma = new PrismaClient()

async function main() {
  // Create users
  const alice = await prisma.user.upsert({
    where: { email: 'alice@prisma.io' },
    update: {},
    create: {
      email: 'alice@prisma.io',
      name: 'Alice',
      posts: {
        create: {
          title: 'Hello World',
          published: true,
        },
      },
    },
  })

  const bob = await prisma.user.upsert({
    where: { email: 'bob@prisma.io' },
    update: {},
    create: {
      email: 'bob@prisma.io',
      name: 'Bob',
    },
  })

  console.log({ alice, bob })
}

main()
  .then(async () => {
    await prisma.$disconnect()
  })
  .catch(async (e) => {
    console.error(e)
    await prisma.$disconnect()
    process.exit(1)
  })
```

## Examples

### Run seed

```bash
prisma db seed
```

### With custom arguments

```bash
prisma db seed -- --environment development
```

Arguments after `--` are passed to your seed script.

## v7 Changes

In Prisma 7, seeding is NOT automatic after migrations:

```bash
# v7 workflow
prisma migrate dev --name init
prisma generate
prisma db seed  # Must run explicitly
```

Previously (v6), `migrate dev` and `migrate reset` auto-ran seeds.

## Idempotent Seeding

Use `upsert` to make seeds re-runnable:

```typescript
// Good: Can run multiple times
await prisma.user.upsert({
  where: { email: 'alice@prisma.io' },
  update: {},  // Don't change existing
  create: { email: 'alice@prisma.io', name: 'Alice' },
})

// Bad: Fails on second run
await prisma.user.create({
  data: { email: 'alice@prisma.io', name: 'Alice' },
})
```

## Common Patterns

### Development reset

```bash
prisma migrate reset --force
prisma db seed
```

### Conditional seeding

```typescript
// prisma/seed.ts
const count = await prisma.user.count()
if (count === 0) {
  // Only seed if empty
  await seedUsers()
}
```

### Environment-specific seeds

```typescript
// prisma/seed.ts
const env = process.env.NODE_ENV || 'development'

if (env === 'development') {
  await seedDevData()
} else if (env === 'test') {
  await seedTestData()
}
```

## Best Practices

1. Use `upsert` for idempotent seeds
2. Keep seeds focused and minimal
3. Use realistic but fake data
4. Document required seed data
5. Version control your seed scripts
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Prisma CLI DB Seed (Prisma)

Executes your configured seed script
Populates database with initial/test data
Runs independently (not auto-run by migrations in v7)

Comment utiliser Prisma CLI DB Seed (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 CLI DB Seed (Prisma)

Dis simplement à ton agent quelque chose comme :

Applique le skill prisma-cli-db-seed__prisma-cursor-plugin__skills-e139ec3f84eb à cette tâche
Utilise prisma-cli-db-seed__prisma-cursor-plugin__skills-e139ec3f84eb pour améliorer cette implémentation
Passe en revue ce sujet avec prisma-cli-db-seed__prisma-cursor-plugin__skills-e139ec3f84eb

Skills liés à Prisma CLI DB Seed (Prisma)