EVERYTHING XIAOMI
Get listed

Alembic

Alembic is a free, self-hosted database migration tool for projects built with SQLAlchemy.

Place
#24 of 32
Score
5.6
Alembic's website

What Alembic is

Alembic is a free, self-hosted database migration tool for projects built with SQLAlchemy. It creates, manages and invokes relational database change scripts, with a migration environment kept alongside the project's source code. Autogeneration compares a database schema with application metadata to produce a candidate migration; users need to review and edit that draft. Alembic can generate SQL migration scripts without running them against a database, useful for workflows where DDL access is restricted. For SQLite, batch operations work around limited ALTER TABLE support by copying data into a newly structured table and replacing the old one. The documented dialects include PostgreSQL, MySQL, MariaDB, SQLite and Microsoft SQL Server. It supports Python 3.10 and newer and requires SQLAlchemy 2.0.0 or newer; installation is available through pip. Autogeneration does not reliably identify table or column renames, and offline SQL generation will not work for migration scripts that require client/server database access, such as pulling rows with SELECT. Alembic is developed by Mike Bayer as part of the SQLAlchemy project and is licensed under MIT terms.

Good

  • Keeps migration scripts with project source code
  • Can generate offline SQL scripts
  • SQLite batch operations handle limited ALTER TABLE support
  • Supports several documented database dialects

Watch out

  • Requires Python 3.10 or newer and SQLAlchemy 2.0.0 or newer
  • Autogeneration may miss table and column renames
  • Offline SQL generation cannot handle migrations needing database access

Who it suits

Alembic suits Python developers maintaining relational database changes in SQLAlchemy projects. It is also relevant where teams need generated SQL scripts instead of direct database execution.

Verdict

Alembic provides migration scripting for SQLAlchemy projects, including candidate generation and offline SQL output. Plan to review generated migrations manually, especially around renames and scripts that require database access.

Plans and prices

From Alembic's own pricing page, checked 3 Oct 2026.

All about pricing
PlanPriceWhat it gives you
AlembicFreeOpen-source software under the MIT license

The facts

Each one read from Alembic's own pages, with the date it was checked.

What it does

Autogenerate
Alembic compares database schema with application metadata to generate candidate migration scripts that users review and edit by hand.checked 3 Oct 2026
Autogenerate limitation
Autogenerate does not reliably identify table or column renames and its candidate migrations must be manually reviewed and corrected.checked 3 Oct 2026
Database ecosystem
Alembic uses SQLAlchemy and database drivers, and its documentation describes PostgreSQL, MySQL, MariaDB, SQLite, and Microsoft SQL Server dialect implementations.checked 3 Oct 2026
Installation
Alembic can be installed with pip and is commonly installed in a project-local Python virtual environment.checked 3 Oct 2026
License
The repository license grants permission to use, copy, modify, distribute, and sell the software, subject to its stated conditions.checked 3 Oct 2026
Maintainer
Alembic is developed by Mike Bayer and is part of the SQLAlchemy project.checked 3 Oct 2026
Migration scripts
A project's migration environment is created once and maintained with its source code.checked 3 Oct 2026
Offline limitation
Migration scripts that need client/server database access, such as pulling rows with SELECT, will not work in offline SQL generation mode.checked 3 Oct 2026
Offline SQL
Alembic can generate SQL scripts for migrations instead of running them against a database, including for workflows where DDL access is restricted.checked 3 Oct 2026
Python support
Alembic supports Python 3.10 and newer and requires SQLAlchemy 2.0.0 or newer.checked 3 Oct 2026
SQLite migrations
Batch operations support SQLite's limited ALTER TABLE capabilities by copying data into a newly structured table and replacing the old table.checked 3 Oct 2026
Support
The project directs users to GitHub Discussions for bug and feature discussion and its GitHub issue tracker for bug reports and feature requests.checked 3 Oct 2026
What it does
Alembic is a lightweight database migration tool for use with SQLAlchemy and provides tools to create, manage, and invoke relational database change scripts.checked 3 Oct 2026

Alternatives to Alembic

All alternatives
  1. 1Atlas logo

    Atlas

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $39 a month
  2. 2

    DeepFilterNet

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.6Free plan
  3. 3

    pgroll

    Free planOpen sourceLinuxmacOSSelf-hostedWindows
    7.3Free plan
  4. 4Skeema logo

    Skeema

    Free planLinuxmacOSWindows
    6.9From $649 a year
  5. 5Bytebase Enterprise logo

    Bytebase Enterprise

    Free planWebAPISelf-hosted
    6.8From $20 a month
  6. 6

    Sqitch

    Free planLinuxmacOSSelf-hostedWindows
    6.7Free plan