Sqitch vs tSQLt
Sqitch
sqitch.orgtSQLt
tsqlt.orgSide by side
| Figure | Sqitch | tSQLt |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Testing Tools | 8.0 (#12) | 7.8 (#14) |
| Installation | The project provides source and Docker installation options, Linux distribution packages, a macOS Homebrew installation, and Windows installation instructions. | Installation uses the included tSQLt.class.sql script in a development database. |
| 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. | The official repository identifies the license as Apache 2.0. |
| Purpose | Sqitch is a database change management application for framework-free development and dependable deployment. | tSQLt is an open source framework for unit testing SQL Server databases with tests written in T-SQL. |
Plans
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.
tSQLt
tSQLt is an open-source unit testing framework for Microsoft SQL Server. Developers write tests in T-SQL, organize them in schemas, and define shared setup methods there. Tests run automatically inside transactions to remain independent and reduce cleanup work. For isolation, tSQLt can fake tables and views and create stored procedure spies. Assertions include AssertEquals and AssertEqualsTable, while results can be generated as plain text or XML for continuous integration tools. The project says it works with SQL Server editions from SQL Server 2005 Service Pack 2 onward. tSQLt is self-hosted, released under the Apache 2.0 license, and the listed plan costs nothing. Installation requires running PrepareServer.sql once per server with SA permission, then installing the framework in a development database. The quick start explicitly says never to install tSQLt in production. Redgate SQL Test is named as its preferred SSMS plug-in.