Skip to content
SPECIFICTION
Get listed

Goose vs Sqitch

Goose

pressly.github.io

Sqitch

sqitch.org

Side by side

FigureGooseSqitch
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published11
Spec score · Database Migration Tools8.3 (#8)7.9 (#13)
Database supportThe documented CLI drivers include ClickHouse, MSSQL, MySQL, PostgreSQL, SQLite, Turso, Vertica, and YDB.Sqitch supports PostgreSQL, YugabyteDB, CockroachDB, SQLite, MySQL, MariaDB, Oracle, Firebird, Vertica, Exasol, Snowflake, and ClickHouse.
LicenseThe GitHub repository states that Goose is licensed under the MIT 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.
PurposeGoose is a database migration tool for managing database schemas with incremental SQL changes and/or Go functions.Sqitch is a database change management application for framework-free development and dependable deployment.

Plans

Goose

  • GooseFree

Goose pricing →

Sqitch

  • SqitchFree

Sqitch pricing →

In their own words

Goose

Goose is a free, open-source database migration tool for managing schema changes through incremental SQL files and Go functions. It is available as both a command-line utility and a library. The CLI can apply, roll back, redo, reset, inspect, and version migrations, with documented drivers for ClickHouse, Microsoft SQL Server, MySQL, PostgreSQL, SQLite, Turso, Vertica, and YDB. SQL migration files use an up annotation and may include a down annotation; filenames can use timestamps or sequential numbers. Statements in a migration file run in one transaction by default, with an annotation for running them outside one. Go migration functions can use a transaction when given a transaction argument. Other listed capabilities include embedded and out-of-order migrations, data seeding, and environment variable substitution in SQL migrations. For library use, a provider accepts a database dialect, connection, migration filesystem, and optional configuration. The provider does not lock the database by default, so callers must arrange safe concurrent migrations or configure a session locker.

Visit pressly.github.io

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