Sqitch
sqitch.org
What it is
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.
Spec sheet
- Purpose
- Sqitch is a database change management application for framework-free development and dependable deployment.Read 9 Oct 2026 · sqitch.org
- 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.Read 4 Oct 2026 · sqitch.org
- 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.Read 9 Oct 2026 · sqitch.org
- 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.Read 9 Oct 2026 · sqitch.org
- Database prerequisites
- Sqitch requires a database-native command-line client and connector libraries to execute change scripts and connect to the database.Read 4 Oct 2026 · sqitch.org
- Database support
- Sqitch supports PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse.Read 9 Oct 2026 · sqitch.org
- Dependencies
- Changes can declare dependencies on other changes, including changes in other Sqitch projects, to determine execution order.Read 9 Oct 2026 · sqitch.org
- Deployment and verification
- Sqitch can deploy and revert database changes, report deployment status and history, and run optional verification scripts during deployment.Read 9 Oct 2026 · sqitch.org
- Deployment integrity
- Sqitch uses a plan file and a Merkle tree pattern to manage changes and dependencies and ensure deployment integrity.Read 9 Oct 2026 · sqitch.org
- Framework independence
- Sqitch is a standalone system that is not tied to a framework, ORM, database engine, or development environment.Read 9 Oct 2026 · sqitch.org
- Framework independent
- Sqitch is a standalone system not tied to a framework, ORM, or platform.Read 4 Oct 2026 · sqitch.org
- Install options
- The download page lists source, Docker, Red Hat, Ubuntu/Debian, macOS Homebrew, and Windows Strawberry Perl installation options.Read 4 Oct 2026 · sqitch.org
- Installation
- The project provides source and Docker installation options, Linux distribution packages, a macOS Homebrew installation, and Windows installation instructions.Read 9 Oct 2026 · sqitch.org
- Iterative development
- Deployment scripts can be modified during development until the project is tagged and released.Read 9 Oct 2026 · sqitch.org
- License and warranty
- The manual grants software use and distribution rights free of charge and states that the software is provided without warranty.Read 9 Oct 2026 · sqitch.org
- Maintainer
- The manual names David E. Wheeler as the author.Read 4 Oct 2026 · sqitch.org
- Native scripts
- Database changes are implemented as scripts native to the selected database engine.Read 9 Oct 2026 · sqitch.org
- Revert and verify
- Sqitch provides commands to revert database changes and verify deployed changes.Read 4 Oct 2026 · sqitch.org
- Runtime dependencies
- Sqitch requires a database-native command-line client and connector libraries for the database engine it uses.Read 9 Oct 2026 · sqitch.org
- Security and privacy
- The site states that it uses no tracking or analytics services.Read 4 Oct 2026 · sqitch.org
Plans and prices
Strong points and limits
Strong points
- Uses scripts native to the selected database
- Tracks dependencies across Sqitch projects
- Supports deploy, verify, and revert operations
- Supports twelve listed database engines
- Free and self-hosted
Limits
- Requires a database-native command-line client
- Requires connector libraries for the target database
- Software is provided without warranty
Who it suits
Sqitch suits database teams that want script-based change management independent of a framework or ORM. It can fit workflows that need deployment, verification, status reporting, and rollback.
Verdict
Sqitch offers framework-independent change management with deployment, verification, and rollback. Its database client and connector prerequisites are important to plan for.
Where Specifiction places it
- Database Migration Tools#13 of 327.9
- Database Testing Tools#12 of 288.0