Goose is a straightforward database migration tool that handles schema changes through incremental SQL scripts executed from the terminal. It works as both a CLI tool and a library, making it flexible for different development workflows.
Key capabilities include:
Common operations include creating new migrations, applying pending changes, rolling back to specific versions, checking migration status, and validating migration files before execution. The tool is particularly well-suited for Go projects but works effectively with SQL files across any language or database system.
$ go install github.com/pressly/goose/v3/cmd/goose@latest