Goose
Database migration tool written in Go supporting SQL migrations and Go functions.
Why consider Goose?
Goose is a database migration tool written in Go by Pressly. Goose manages database evolution via standard SQL migration files or native Go functions for complex data backfills, supporting PostgreSQL, MySQL, SQLite3, ClickHouse, and YugabyteDB.
Learn Goose by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide2 sections
Overview of Goose
Goose allows developers to write custom Go migration code alongside declarative SQL schema statements.
Installation
go install github.com/pressly/goose/v3/cmd/goose@latestgoose postgres "user=postgres dbname=mydb sslmode=disable" upGoose is licensed under the permissive MIT License.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.