# DBMate

Plain-SQL DB migrations.

Source: [Console review](<https://console.dev/tools/dbmate>)

Website: [https://github.com/amacneil/dbmate](<https://github.com/amacneil/dbmate>)

Profile updated: 2026-10-16

Category: [Database management](<https://console.dev/tools/categories/database-management>)

## Supported tech stack

Research checked: 2026-10-11

### Runs on

- Linux (Operating system)
- Windows (Operating system)
- macOS (Operating system)

### Integrates with

- ClickHouse (Integration)
- Docker (Integration)
- MariaDB (Integration)
- MySQL (Integration)
- PostgreSQL (Integration)
- SQLite (Integration)

Source: [Research source](<https://github.com/amacneil/dbmate>)

Documented compatibility; coverage may be incomplete. Written in describes implementation, not user-project language support.

Language-independent database migration CLI with macOS, Linux, Windows and Docker installs; supports MySQL, MariaDB, PostgreSQL, SQLite and ClickHouse.

## Console’s review — 2023-09-21

Reviewed: 2023-09-21

Author: [David Mytton](<https://console.dev/about#david-mytton>)

Citation: [This review](<https://console.dev/tools/dbmate#review_426ad2f70b88c23dbc5e89aa2f559c052c22e3286957b81100f437415b0209ab>)

### What we like

Standalone CLI for managing database migrations. Maintains a “current state” SQL file so you can always provision the database and diff changes. Migrations are specified in plain SQL with up and down states to support rollbacks. Runs migrations inside transactions. Single binary & can also be embedded in code (Go).

### Tradeoffs

Framework agnostic, but may not play well if you do use a framework like Prisma and want to manage migrations for its schema across other languages. Not sure if that’s a limitation of DBMate or Prisma, though!

This review reflects Console’s assessment at publication on 2023-09-21. Features and limitations may have changed since the review date.

## Is DBMate a fit?

Based on [Console’s review published on 2023-09-21](<https://console.dev/tools/dbmate#review_426ad2f70b88c23dbc5e89aa2f559c052c22e3286957b81100f437415b0209ab>).

Summary updated: 2026-10-16

### Who it’s for

Developers managing database migrations

### Why consider it

Manages database migrations with plain SQL and supports rollbacks

### Keep in mind

May not integrate well with frameworks like Prisma

[Selection criteria](<https://console.dev/selection-criteria>) · [About Console](<https://console.dev/about>) · [Browse tools](<https://console.dev/tools>)
