All skills
prisma avatar

/prisma-cli

@b491588 official
by prismaprisma/skills66 stars
7

Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.

Use this Skill: https://skilld.dev/gh/prisma/skills/prisma-cli

This session only. Nothing lands on disk.

referencesdb-seed.md

≈831 tokens on demand. Your agent reads this file only when SKILL.md points to it.

prisma db seed

Runs your database seed script to populate data.

Command

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:

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 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

// 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

prisma db seed

With custom arguments

prisma db seed -- --environment development

Arguments after -- are passed to your seed script.

Current Workflow

Run seeding explicitly after migrations when you need seed data:

prisma migrate dev --name init
prisma generate
prisma db seed  # Must run explicitly

Idempotent Seeding

Use upsert to make seeds re-runnable:

// 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

prisma migrate reset --force
prisma db seed

Conditional seeding

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

Environment-specific seeds

// 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

Source: SKILL.md on GitHub

No alerts1d5 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    This skill provides a comprehensive reference for Prisma ORM CLI commands, covering project initialization, migrations, and database management. It includes specific safety guidelines to prevent AI agents from executing destructive commands without explicit user consent. No security issues were detected.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: LOW · No issues

  • Runlayer7mo

    4/18 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at b491588. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 days ago
metadata
{
  "author": "prisma",
  "version": "7.9.1"
}

README badge

README badge for prisma/skills/prisma-cli

Provides reference documentation and guidance for Prisma ORM CLI commands including init, generate, migrate, db operations, studio, and mcp. Use this skill for Prisma project setup, migrations, schema management, and local development workflows; do not use it for Prisma Compute app deployment.

Generated from the current SKILL.md.

Does this skill cover Prisma Compute deployment?
No. This skill covers Prisma ORM CLI commands only (init, generate, migrate, db, studio, etc.). Use the prisma-compute skill for app deploy, compute:deploy, and Compute-related commands.
What database systems does this skill support?
Prisma ORM with PostgreSQL, MySQL, SQLite, and Prisma Postgres (cloud). The skill documents provider-specific initialization flags.
Does this skill work with Bun?
Yes. The skill documents that you must use the `--bun` flag when running Prisma commands via Bun (e.g. `bunx --bun prisma generate`) so Prisma runs with the Bun runtime instead of falling back to Node.js.
Does this skill cover development workflows only, or production too?
Both. It covers development commands (prisma dev, migrate dev) and production workflows (prisma migrate deploy for CI/CD, prisma db push for schema sync).
What version of Prisma does this skill target?
Prisma 7.6.0 and current releases. It documents the current prisma.config.ts configuration format and CLI behavior.

Generated from the current SKILL.md. These answers refresh after source changes.