Supported migration tools

22 migration tools, one diagram

Upload the migration files exactly as your tool keeps them. SchemaDrawer runs the real tool, in its real version, against a throw-away database and draws what comes out.

Every tool is drawn on PostgreSQL, MySQL and MariaDB. The support matrix below shows the rest.

No tool matches. Missing yours? Tell us which one to add next.

Support matrix

Which tool draws on which engine

22 tools times 6 engines in 23 versions. A tool is missing from an engine only when the tool itself ships no driver for it.

ToolPostgreSQLMySQLMariaDBSQL ServerOracleSQLite
FlywayYesYesYesYesYesYes
LiquibaseYesYesYesYesYesYes
golang-migrateYesYesYesYesNoNo
AlembicYesYesYesYesYesYes
gooseYesYesYesYesNoYes
dbmateYesYesYesNoNoYes
AtlasYesYesYesNoNoYes
Prisma MigrateYesYesYesYesNoYes
DbUpYesYesYesYesYesNo
FluentMigratorYesYesYesYesYesNo
Doctrine MigrationsYesYesYesYesYesYes
LaravelYesYesYesYesNoYes
ActiveRecord (Rails)YesYesYesYesNoYes
DjangoYes
15 and newer
Yes
8.4 and newer
Yes
11.4 and newer
YesYesYes
Drizzle ORMYesYesYesNoNoYes
SqitchYesYesYesNoYesYes
DieselYesYesYesNoNoYes
EF CoreYesYesYesYesNoNo
MikroORMYesYesYesYesNoNo
Knex.jsYesYesYesYesYesYes
SequelizeYesYesYesYesYesYes
TypeORMYesYesYesYesYesYes

Django refuses PostgreSQL 10 to 14, MySQL 8.0 and MariaDB 10.6 (Django 6 dropped them), so those versions are not offered for it.

How it works

Real tools, real engines, no parser

A migration is only truly defined by what the tool does with it. SchemaDrawer never parses your files: it starts the engine and version you name, runs your tool inside Docker and reads the schema back over JDBC.

Same version, same behaviour

Flyway 13, Liquibase 5, Prisma 7, Django 6, EF Core 9 and the rest, each in its own container image. Whatever the tool accepts, SchemaDrawer accepts.

Real error messages

A migration that fails comes back with the tool's own output, exit code included, not with a parser's guess at what went wrong.

Bookkeeping hidden

The tool's own history table (flyway_schema_history, _prisma_migrations, django_migrations, ...) is left out, so the diagram shows your schema only.

Draw your schema in the next five minutes

One HTTP call with your migration files, one poll, one SVG. Free while we build it.