7,363 open-source and SaaS tools, with GitHub stats refreshed every day.

Goose

Open source

Goose from the Pressly organization is a database migration tool, usable as a CLI or Go library, that applies versioned SQL files or Go functions.

pressly.github.io
Goose homepage screenshot
GitHub stars
12k
Last commit
yesterday
Repository age
10 years
Version
v3.28.0
Licence
Custom
Self-hosted
Yes

About Goose

This entry covers goose, the database migration tool published by Pressly. It is both a command-line program and a Go library, and it manages a database schema through incremental changes written as SQL files or as Go functions.

It works with many databases, including Postgres, MySQL, MariaDB, Spanner, SQLite, YDB, ClickHouse, MSSQL and Vertica. Notable capabilities include migrations written as plain Go functions, embedded migrations, out-of-order migrations, data seeding and environment variable substitution inside SQL migrations. Commonly used commands include create, up, up-to and down, and driver-specific details are documented.

Goose is installed as a Go binary or through Homebrew on macOS, and a lighter build can be made by excluding database drivers you do not need. The repository lists the license as Other. It is used by Go developers who want repeatable, version-controlled schema changes for their applications and deployments.

Key features

  • SQL file migrations
  • Migrations written as Go functions
  • Support for many databases
  • Embedded migrations in binaries
  • Out-of-order migration support
  • Data seeding support
  • Environment variable substitution in SQL

Good fit for

  • →Versioned schema changes in Go services
  • →Running migrations in CI and deployments
  • →Seeding databases for development
Tags
database-migrations
migrations
golang
sql
cli
postgresql
mysql
sqlite

Goose: questions and answers

What is Goose used for?
Goose from the Pressly organization is a database migration tool, usable as a CLI or Go library, that applies versioned SQL files or Go functions. It is a good fit for versioned schema changes in Go services, running migrations in CI and deployments, and seeding databases for development.
Is Goose open source?
Yes. Goose is open source under a custom licence. Its source code is on GitHub at pressly/goose and is written mainly in Go.
Is Goose free?
Yes. Goose is open source, so the software itself is free to use under the terms of its own licence.
What are some alternatives to Goose?
Similar open-source tools in the Database Tools category include Pgloader, Outerbase Studio and Beekeeper Studio. SaaS products in the same category include Valentina Studio, DBCode and SQLPro Studio.
Is Goose actively maintained?
Yes. The most recent commit to Goose was on 1 October 2026, and the latest release is v3.28.0, published on 2 September 2026. The project has 12k stars on GitHub.

Open-source alternatives to Goose

See all

SaaS alternatives to Goose

See all