goose icon
goose icon

goose

goose is a database migration tool. Manage your database schema by creating incremental SQL changes and/or Go functions.

goose screenshot 1

Cost / License

  • Free
  • Open Source

Platforms

  • Mac
  • Windows
  • Linux
  • Go (Programming Language)
  • Homebrew
-
No reviews
0likes
0comments
0news articles

Features

Suggest and vote on features
  1.  Command line interface
  2.  Database migration
  3.  Zero configuration
  4.  Golang

 Tags

  • go-lang
  • SQL
  • database-schema

goose News & Activities

Highlights All activities

Recent activities

No activities found.

goose information

  • Developed by

    US flagPressly Inc.
  • Licensing

    Open Source and Free product.
  • Written in

  • Alternatives

    22 alternatives listed
  • Supported Languages

    • English

AlternativeTo Categories

DevelopmentOS & Utilities

GitHub repository

  •  9,633 Stars
  •  611 Forks
  •  110 Open Issues
  •   Updated  
View on GitHub
goose was added to AlternativeTo by Paul on and this page was last updated .
No comments or reviews, maybe you want to be first?
Post comment/review

What 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.

Official Links