# Overview of Prisma Migrate (/docs/orm/prisma-migrate)

Location: ORM > Overview of Prisma Migrate

Prisma Migrate enables you to:

* Keep your database schema in sync with your [Prisma schema](/orm/prisma-schema/overview) as it evolves
* Maintain existing data in your database

Prisma Migrate generates [a history of `.sql` migration files](/orm/prisma-migrate/understanding-prisma-migrate/migration-histories), and plays a role in both [development and production](/orm/prisma-migrate/workflows/development-and-production).

Prisma Migrate can be considered a *hybrid* database schema migration tool, meaning it has both of *declarative* and *imperative* elements:

* Declarative: The data model is described in a declarative way in the [Prisma schema](/orm/prisma-schema/overview). Prisma Migrate generates SQL migration files from that data model.
* Imperative: All generated SQL migration files are fully customizable. Prisma Migrate hence provides the flexibility of an imperative migration tool by enabling you to modify what and how migrations are executed (and allows you to run custom SQL to e.g. make use of native database feature, perform data migrations, ...).

If you are prototyping, consider using the [`db push`](/orm/reference/prisma-cli-reference#db-push) command - see [Schema prototyping with `db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) for examples.

See the [Prisma Migrate reference](/orm/reference/prisma-cli-reference#prisma-migrate) for detailed information about the Prisma Migrate CLI commands.

> [!INFO]
> Does not apply for MongoDB
> 
> Instead of `migrate dev` and related commands, use [`db push`](/orm/prisma-migrate/workflows/prototyping-your-schema) for [MongoDB](/orm/core-concepts/supported-databases/mongodb).

## Related pages

- [`Prisma Client`](https://www.prisma.io/docs/orm/prisma-client): Prisma Client is Prisma ORM's generated, type-safe query builder for Node.js, Bun, and Deno applications.
- [`Prisma ORM`](https://www.prisma.io/docs/orm/v6): Learn about Prisma ORM