EVERYTHING XIAOMI
Get listed

Sqitch

Sqitch is a free, open-source application for managing database changes.

Place
#6 of 32
Score
6.7
Sqitch's website

What Sqitch is

Sqitch is a free, open-source application for managing database changes. It works independently of a framework, ORM, database engine or development environment, and uses scripts native to the selected database engine. Changes can declare dependencies on other changes, including changes from separate Sqitch projects, to determine execution order. A plan file and Merkle tree pattern help maintain deployment integrity without requiring numbered change names. Sqitch can deploy and revert changes, report deployment status and history, and run optional verification scripts. The manual lists support for PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake and ClickHouse. Connecting to a database and executing its scripts requires that engine’s native command-line client and connector libraries. Installation options include source, Docker, Linux distribution packages, macOS Homebrew and Windows instructions. The software is available for Linux, macOS, Windows and self-hosted use. Community help is available through GitHub Discussions, the Sqitch Users mail list and Stack Overflow; filing issues requires a GitHub account. The software is provided without warranty.

Good

  • Works independently of frameworks and ORMs
  • Supports numerous database engines
  • Can deploy, verify and revert changes
  • Free and open source
  • Available for self-hosted use

Watch out

  • Requires database-native client and connector libraries
  • Filing issues requires a GitHub account
  • Software is provided without warranty

Who it suits

Sqitch suits developers managing database changes who want a framework-independent tool and scripts native to their database engine. It is also relevant for teams that need to deploy, verify and revert changes.

Verdict

Sqitch offers database change deployment and rollback without tying projects to a particular framework or ORM. Before adopting it, account for the required database client and connector libraries.

Plans and prices

From Sqitch's own pricing page, checked 9 Oct 2026.

All about pricing
PlanPriceWhat it gives you
SqitchFreeDatabase change management application · software license permits use, copying, modification, merging, publishing, distribution, and sale

The facts

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

What it does

Community support
The community offers GitHub Discussions, a users mailing list, Stack Overflow questions tagged sqitch, and a GitHub issue tracker for bugs and feature requests.checked 9 Oct 2026
Credential security
Sqitch intentionally has no command-line password option because command-line passwords can be recorded in shell history or exposed to other users.checked 9 Oct 2026
Database prerequisites
Sqitch requires a database-native command-line client and connector libraries to execute change scripts and connect to the database.checked 4 Oct 2026
Database support
Sqitch supports PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse.checked 9 Oct 2026
Dependencies
Changes can declare dependencies on other changes, including changes in other Sqitch projects, to determine execution order.checked 9 Oct 2026
Deployment and verification
Sqitch can deploy and revert database changes, report deployment status and history, and run optional verification scripts during deployment.checked 9 Oct 2026
Deployment integrity
Sqitch uses a plan file and a Merkle tree pattern to manage changes and dependencies and ensure deployment integrity.checked 9 Oct 2026
Framework independence
Sqitch is a standalone system that is not tied to a framework, ORM, database engine, or development environment.checked 9 Oct 2026
Framework independent
Sqitch is a standalone system not tied to a framework, ORM, or platform.checked 4 Oct 2026
Installation
The project provides source and Docker installation options, Linux distribution packages, a macOS Homebrew installation, and Windows installation instructions.checked 9 Oct 2026
Install options
The download page lists source, Docker, Red Hat, Ubuntu/Debian, macOS Homebrew, and Windows Strawberry Perl installation options.checked 4 Oct 2026
Iterative development
Deployment scripts can be modified during development until the project is tagged and released.checked 9 Oct 2026
License
The manual grants permission to use, modify, publish, distribute, sublicense, and sell the software subject to its stated condition, and provides it without warranty.checked 4 Oct 2026
License and warranty
The manual grants software use and distribution rights free of charge and states that the software is provided without warranty.checked 9 Oct 2026
Maintainer
The manual names David E. Wheeler as the author.checked 4 Oct 2026
Native scripts
Database changes are implemented as scripts native to the selected database engine.checked 9 Oct 2026
Purpose
Sqitch is a database change management application for framework-free development and dependable deployment.checked 9 Oct 2026
Revert and verify
Sqitch provides commands to revert database changes and verify deployed changes.checked 4 Oct 2026
Runtime dependencies
Sqitch requires a database-native command-line client and connector libraries for the database engine it uses.checked 9 Oct 2026
Security and privacy
The site states that it uses no tracking or analytics services.checked 4 Oct 2026
The full review of Sqitch

Overview

Sqitch is a free, open-source database change management tool for teams that want to manage migrations without adopting a particular framework or ORM. It is most compelling for projects comfortable with database-native SQL scripts and explicit change dependencies. Its broad database coverage is balanced by a practical requirement: each target needs its native command-line client and connector libraries.

Key features

Sqitch keeps migration scripts native to the chosen database engine instead of imposing a framework-specific format. That suits teams that prefer direct control over database changes or work across development environments. The trade-off is that scripts remain engine-specific, so this is not a way to make database differences disappear.

A plan file records changes and their dependencies, including changes from other Sqitch projects, so execution order can be expressed through relationships rather than numbered filenames. Sqitch also uses a Merkle tree pattern to protect deployment integrity. Together, these choices offer a structured alternative to relying on filename sequence alone.

Before a project is tagged and released, deployment scripts can be edited after they have been committed to version control. That flexibility can help during active development, while the tag and release boundary gives teams a clear point at which the change history should settle.

Sqitch can deploy and revert changes, report deployment status and history, and run optional verification scripts during deployment. Rollback and verification make it useful for teams that want more than a one-way migration runner. It intentionally has no command-line password option, avoiding a route by which credentials might be left in shell history or exposed to other users.

The manual lists PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse. Installation options include source, Docker, Linux packages, macOS Homebrew, and Windows instructions. The range is substantial, but database support still depends on having the relevant native client and connector libraries in place.

Pricing

Sqitch costs nothing. Its open-source license permits use, copying, modification, merging, publishing, distribution, and sale, so it fits individuals and teams that want a no-cost tool they can adapt or distribute. There is no paid plan to move to for additional capabilities; the corresponding responsibility is to provide the required database clients and connector libraries.

The software is provided without warranty. Sqitch offers community help through GitHub Discussions, the Sqitch Users mail list, and Stack Overflow; filing issues requires a GitHub account. That gives users several peer-support routes, but teams needing a formal support commitment should look elsewhere.

Platforms

Sqitch supports Linux, macOS, Windows, and self-hosted use. Its installation routes span source and Docker, Linux distribution packages, Homebrew on macOS, and Windows installation instructions. This range suits teams that want to keep database change management in their own environments rather than depend on a hosted service.

Who it's for

Sqitch is a strong fit for database-focused developers and teams that want engine-native scripts, explicit dependencies, and the ability to deploy, verify, and revert changes without binding the project to an ORM or framework. It is less suitable for teams that want a migration layer to abstract away database differences, or that cannot manage each engine's client and connector prerequisites.

Pros and cons

  • Pro: Framework and ORM independence lets teams manage changes without adopting a particular application stack.
  • Pro: Dependencies, deployment history, optional verification, and rollback support give teams control across the change lifecycle.
  • Pro: The manual lists support for a wide range of database engines, from SQLite and PostgreSQL to Snowflake and ClickHouse.
  • Con: Each database requires a native command-line client and connector libraries, adding setup work for every target.
  • Con: Native scripts are engine-specific, so teams spanning databases must account for those differences rather than expect a shared migration language.
  • Con: Community support is the stated help route, and filing issues requires a GitHub account.

Alternatives

For another free database migration tool, consider sqlx-cli, which combines database management with migrations and offline query metadata. dbmate is another free, open-source migration tool with Linux, macOS, self-hosted, and Windows support. Goose is a free option with API and self-hosted platforms among its listed support.

Choose Skeema if its free Community plan's tables, stored procedures and functions, and 18 linter checks meet your needs; its Plus plan costs $124 a month. Atlas is worth considering if you want an open-core alternative with an Apache 2.0 core and advanced features beyond it. For PostgreSQL 14.0 or later, pgroll offers a single cross-platform binary. Refinery is a free, MIT-licensed SQL migration toolkit whose database drivers are selected as features. For a framework distributed through NuGet, consider FluentMigrator, with provider packages selected separately.

Browse the Database Migration Tools or Database Testing Tools lists for more options.

Verdict

Choose Sqitch if you want free, self-hosted database change management that preserves engine-native scripts while providing explicit dependencies, verification, and rollback. Its independence and broad engine support are the draw; the need to install and maintain native clients and connector libraries is the main reason to choose a more abstracted alternative.

Getting started

  1. Visit https://sqitch.org/
  2. Choose an installation route: source, Docker, Red Hat, Ubuntu/Debian, macOS Homebrew, or Windows Strawberry Perl.
  3. Install the native command-line client and connector libraries for the database engine you use.
  4. Write database-native change scripts and declare any dependencies between changes.
  5. Use Sqitch commands to deploy, verify, inspect status or history, and revert changes as needed.

Questions

How much does Sqitch cost?

Sqitch is free and open source. The listed plan is free.

Which databases does Sqitch support?

The manual lists PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse.

What does Sqitch need to connect to a database?

It requires the database engine’s native command-line client and connector libraries to connect and execute change scripts.

Can Sqitch revert changes?

Yes. It provides commands to revert database changes and verify deployed changes.

Can I host Sqitch myself?

Yes. Self-hosted use is listed, and supported platforms include Linux, macOS, and Windows.

Who maintains Sqitch, and what license does it use?

The manual names David E. Wheeler as the author. It grants rights to use, modify, publish, distribute, sublicense, and sell the software subject to its stated condition, and provides it without warranty.

Alternatives to Sqitch

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

    sqlx-cli

    Free planLinuxmacOSWindows
    6.6Free plan