Subchapter 1.14
references/migrate-dev.mdMarkdown3 KBView on GitHub
Creates and applies migrations during development. Requires a shadow database.
prisma migrate dev [options]_prisma_migrations table| Option | Description |
|---|---|
--name / -n | Name the migration |
--create-only | Create a new migration but do not apply it |
--schema | Custom path to your Prisma schema |
--config | Custom path to your Prisma config file |
--url | Override the datasource URL from the Prisma config file |
prisma generate explicitly when you need refreshed client outputprisma db seed explicitly when you need seed dataRun prisma generate as an explicit follow-up when you need refreshed generated artifacts. Do not rely on historical CLI help that described generators as part of migrate dev.
prisma migrate devPrompts for migration name if schema changed.
prisma migrate dev --name add_users_tableprisma migrate dev --create-onlyUseful for reviewing migration SQL before applying.
prisma migrate dev --name my_migration
prisma generate
prisma db seedCreated in prisma/migrations/:
prisma/migrations/
├── 20240115120000_add_users_table/
│ └── migration.sql
├── 20240116090000_add_posts/
│ └── migration.sql
└── migration_lock.tomlIf migrate dev detects drift (manual database changes or edited migrations), it prompts to reset:
Drift detected: Your database schema is not in sync.
Do you want to reset your database? All data will be lost.migrate deploy)migrate deploy)db push instead)// schema.prisma - Add new field
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
createdAt DateTime @default(now()) // New field
}prisma migrate dev --name add_created_atWhen a migration would cause data loss:
prisma migrate dev --name remove_field
# Warning: You are about to delete data...
# Accept with: --accept-data-lossmigrate dev requires a shadow database for drift detection. Configure in prisma.config.ts:
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
shadowDatabaseUrl: env('SHADOW_DATABASE_URL'),
},
})For local Prisma Postgres (prisma dev), shadow database is handled automatically.