prisma-cli-migrate-deploy

prisma migrate deploy

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-cli-migrate-deploy

prisma migrate deploy

Applies pending migrations in production/staging environments.

Command

prisma migrate deploy

What It Does

  • Applies all pending migrations from prisma/migrations/
  • Updates _prisma_migrations table
  • Does NOT generate new migrations
  • Does NOT run seed scripts
  • Safe for CI/CD and production

Options

OptionDescription
--schemaCustom path to your Prisma schema
--configCustom path to your Prisma config file

When to Use

  • Production deployments
  • Staging environments
  • CI/CD pipelines
  • Any non-development environment

Examples

Basic deployment

prisma migrate deploy

In CI/CD pipeline

# GitHub Actions example
- name: Apply migrations
  run: npx prisma migrate deploy
  env:
    DATABASE_URL: ${{ secrets.DATABASE_URL }}

Docker deployment

# Run migrations before starting app
CMD npx prisma migrate deploy && node dist/index.js

Comparison with migrate dev

Featuremigrate devmigrate deploy
Creates migrationsYesNo
Applies migrationsYesYes
Detects driftYesNo
Prompts for inputYesNo
Uses shadow databaseYesNo
Safe for productionNoYes
Resets on issuesPromptsFails

Production Workflow

  1. Development: Create migrations locally

    prisma migrate dev --name add_feature
    
  2. Commit: Include migration files in version control

    git add prisma/migrations
    git commit -m "Add feature migration"
    
  3. Deploy: Apply in production

    prisma migrate deploy
    

Error Handling

Failed migration

If a migration fails, migrate deploy exits with error. The failed migration is marked as failed in _prisma_migrations.

To fix:

  1. Resolve the issue (fix SQL, database state, etc.)
  2. Mark as resolved: prisma migrate resolve --applied <migration_name>
  3. Re-run: prisma migrate deploy

Check status first

prisma migrate status

Shows pending and applied migrations before deploying.

Configuration

Ensure prisma.config.ts has the production database URL:

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

export default defineConfig({
  datasource: {
    url: env('DATABASE_URL'),
  },
})

Best Practices

  1. Always run migrate status before migrate deploy in CI
  2. Have a rollback plan (backup before migrations)
  3. Test migrations in staging first
  4. Never use migrate dev in production

More skills from prisma

prisma-cli-migrate-reset
prisma
prisma migrate reset
official
prisma-cli-validate
prisma
prisma validate. Reference when using this Prisma feature.
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
Review one or more ADRs with fresh eyes (as a team member without prior context), identify narrative and structural issues, then rewrite them. Use when the…
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
Complete reference for Prisma CLI commands, options, and workflows across setup, migrations, and database operations. Covers 20+ commands organized by priority: setup ( init ), generation ( generate ), development ( dev ), database operations ( db pull/push/seed/execute ), and migrations ( migrate dev/deploy/reset/status/diff/resolve ) Includes Prisma 7.x changes: new prisma.config.ts configuration file, removed flags ( --skip-generate , --skip-seed , --schema , --url ), and explicit...
official
prisma-client-api
prisma
Complete Prisma Client API reference for model queries, CRUD operations, filtering, relations, and transactions. Covers 17 model query methods including findUnique , findMany , create , update , delete , upsert , and bulk operations with return variants Provides query options for shaping results: select , include , omit , orderBy , take , skip , cursor , and distinct Includes scalar and logical filter operators ( equals , in , contains , startsWith , lt , gt ) plus relation filters ( some ,...
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial