Loading...
Loading...
Manage database schema migrations in ZenStack V3. Use when creating/applying migrations (zen migrate dev/deploy/reset/status/resolve), prototyping with zen db push, introspecting an existing database with zen db pull, seeding, handling unsupported features (views) with --create-only, or wiring migrations into a deployment pipeline.
npx skill4agent add zenstackhq/skills zenstack-db-migrationzenprismazenprisma/migrationszenstack/migrationszenstack/schema.zmodelzenstack-project-setupzenstack-schema-modeling@zenstackhq/cliprismaRunafter schema changes to refresh generated types; migration commands operate on the schema independently of the generated client.zen generate
| Approach | Command | When |
|---|---|---|
| Schema prototyping | | Local dev/experimentation — syncs the DB to the schema with no migration file. Fast, but loses history. Never in production. |
| Tracked migrations | | Anything you ship — generates reviewable, committed SQL migration files applied deterministically across environments. |
db pushmigrate dev--schema <file>zenstack/schema.zmodel--migrations <path>migrations/zen migrate devzen migrate dev --name add_published_flag-n, --name <name>--create-onlyzen migrate devzen migrate deployzen migrate deployzen migrate statuszen migrate statuszen migrate resolvezen migrate resolve --applied 20240101120000_add_users
zen migrate resolve --rolled-back 20240101120000_add_userszen migrate resetzen migrate reset --force # --force skips the confirmation prompt--skip-seedzen db pushzen db push
zen db push --accept-data-loss # proceed despite data-loss warnings
zen db push --force-reset # reset the DB before pushingzen db pullzen db pull-o, --output <path>--model-casing <pascal|camel|snake|none>pascal--field-casing <...>camel--always-map@map@@map--quote <double|single>single--indent <number>4Warning:can overwrite your schema file. Commit or back it up first.zen db pull
zen db seedpackage.jsonzenstack.seed{ "zenstack": { "seed": "tsx ./zenstack/seed.ts" } }zen db seed
zen db seed -- --users 10 # args after -- are forwarded to the seed scriptzenstack/schema.zmodelzen db pushzen db seedzen migrate dev --name <change>zen migrate deployzen migrate statusdb pushmigrate devmigrate resetzen initurlzen db pullzen generatezenstack-project-setupprisma/migrationszenstack/migrationszenstack/schema.zmodelprisma migrate ...prisma db ...zenzenstack-migrate-from-prismareferences/zen db pullmigratedb