

goose
Like
goose is a database migration tool. Manage your database schema by creating incremental SQL changes and/or Go functions.
Cost / License
- Free
- Open Source
Platforms
- Mac
- Windows
- Linux
- Go (Programming Language)
- Homebrew
Features
- Command line interface
- Database migration
- Zero configuration
- Golang
Tags
- go-lang
- SQL
- database-schema
goose News & Activities
Highlights All activities
Recent activities
No activities found.
goose information
No comments or reviews, maybe you want to be first?
Post comment/reviewWhat is goose?
goose is a database migration tool. Manage your database schema by creating incremental SQL changes and/or Go functions.
- No config files
- Default goose binary can migrate SQL files only
- Go migrations:
- We don't go build Go migrations functions on-the-fly from within the goose binary
- Instead, we let you create your own custom goose binary, register your Go migration functions explicitly and run complex migrations with your own *sql.DB connection
- Go migration functions let you run your code within an SQL transaction, if you use the *sql.Tx argument
- The goose pkg is decoupled from the binary:
- goose pkg doesn't register any SQL drivers anymore, thus no driver panic() conflict within your codebase!
- goose pkg doesn't have any vendor dependencies anymore
- We use timestamped migrations by default but recommend a hybrid approach of using timestamps in the development process and sequential versions in production.
Starting with v3.0.0 this project adds Go module support, but maintains backwards compatibility with older v2.x.y tags. Goose supports embedding SQL migrations, which means you'll need go1.16 and up. If using go1.15 or lower, then pin v3.0.1.





