Skip to content
SPECIFICTION
Get listed

Sqitch vs sqlx-cli

Sqitch

sqitch.org

sqlx-cli

github.com

Side by side

FigureSqitchsqlx-cli
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Database Migration Tools7.9 (#13)8.0 (#11)
Database supportSqitch supports PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse.Its default installation supports the databases supported by SQLx; installation options include PostgreSQL-only and SQLite-specific configurations.
InstallationThe project provides source and Docker installation options, Linux distribution packages, a macOS Homebrew installation, and Windows installation instructions.The CLI can be installed with `cargo install sqlx-cli`.
LicenseThe manual grants permission to use, modify, publish, distribute, sublicense, and sell the software subject to its stated condition, and provides it without warranty.The SQLx repository lists Apache-2.0 and MIT license files.
PurposeSqitch is a database change management application for framework-free development and dependable deployment.SQLx CLI is a command-line utility for managing databases and migrations and enabling offline mode for SQLx query macros.

Plans

Sqitch

  • SqitchFree

Sqitch pricing →

sqlx-cli

  • sqlx-cliFree

sqlx-cli pricing →

In their own words

Sqitch

Sqitch is a database change management application for deploying and tracking database changes. It is a standalone system, not tied to a framework, ORM, database engine, or development environment. Changes are written as scripts native to the chosen database, and can declare dependencies—including changes in other Sqitch projects—to establish execution order. A plan file and Merkle tree pattern support deployment integrity without requiring numbered change names. Sqitch can deploy and revert changes, report status and history, and run optional verification scripts. Its manual lists PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse. Connecting and executing scripts requires the database's native command-line client and connector libraries. Installation options include source, Docker, Linux distribution packages, macOS Homebrew, and Windows instructions. Sqitch is free, with a license permitting use and distribution, and is available for Linux, macOS, Windows, and self-hosted use.

Visit sqitch.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