Skip to main content

prisma-cli-db-seed

prisma db seed. Reference when using this Prisma feature.

Zur Installation springen

Quellinformationen

Repository
prisma/cursor-plugin
Letzte Quellaktivität
6. Februar 2026 um 14:17
Erkannte Sprache von SKILL.md
Englisch
Sterne
9
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-cli-db-seed
description
prisma db seed. Reference when using this Prisma feature.
license
MIT
metadata
{"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
Auf GitHub ansehen