Skip to content
SPECIFICTION
Get listed

Alembic vs sqlx-cli

Alembic

alembic.sqlalchemy.org

sqlx-cli

github.com

Side by side

FigureAlembicsqlx-cli
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
Linux—Yes
Self-hostedYes—
Plans published11
Spec score · Database Migration Tools7.9 (#12)8.0 (#11)
InstallationAlembic can be installed with pip and is commonly installed in a project-local Python virtual environment.The CLI can be installed with `cargo install sqlx-cli`.
LicenseThe repository license grants permission to use, copy, modify, distribute, and sell the software, subject to its stated conditions.The SQLx repository lists Apache-2.0 and MIT license files.
SupportThe project directs users to GitHub Discussions for bug and feature discussion and its GitHub issue tracker for bug reports and feature requests.The SQLx repository links to its FAQ and Discord community for questions.

Plans

Alembic

  • AlembicFree

Alembic pricing →

sqlx-cli

  • sqlx-cliFree

sqlx-cli pricing →

In their own words

Alembic

Alembic has no write-up on Specifiction yet; its figures are above.

Visit alembic.sqlalchemy.org

sqlx-cli

sqlx-cli is SQLx’s command-line utility for managing databases, migrations, and offline preparation for query macros. It can create or drop the database identified by a database URL, and create, run, inspect, or revert migrations, including paired up and down scripts. The `cargo sqlx prepare` command writes query metadata to a `.sqlx` directory. Once that metadata is checked into version control, builds can run without an active database connection. The `--check` option returns a nonzero status if the saved metadata is out of date, a behavior the project describes for continuous integration.

For workspaces whose crates use query macros, `cargo sqlx prepare --workspace` places one `.sqlx` directory at the workspace root. Commands accept the database URL through `--database-url`, the `DATABASE_URL` environment variable, or a `.env` file in the current directory. The project lists PostgreSQL, MySQL, MariaDB, and SQLite support, with installation options for database drivers and TLS backends. The CLI is free and open source under the user’s choice of Apache-2.0 or MIT license. The README notes that MSSQL support was removed pending a full driver rewrite.

Visit github.com