meridian migrate runs prisma migrate dev against your developer database with a snapshot taken first, so a half-applied migration is recoverable.
The sequence is: dump the schema to .meridian/snapshots/, run the migration, and, if it fails, reset the schema and replay the snapshot automatically. A half-applied migration is worse than where you started, so the rollback is the default rather than an option.
--no-rollback is the one worth knowing: it leaves the database in its failed state and keeps the snapshot, so you can inspect what went wrong before deciding to restore. --skip-snapshot gives you neither.
Snapshots are pruned only after a successful run, so a string of failures never eats the snapshot you still need. --keep-snapshots sets how many survive that pruning.
--port and --env-file work here too, with the same meaning as on meridian dev.
Where a migration shows up
Every migration run is reported back to Meridian, so the app’s Developer databases page and Meridian MCP’s dev_database_migrate see the same history. A migration you ran from your terminal is visible to your team without you telling them.Last modified on September 28, 2026