What problem does it solve?
Goose enables teams to manage database migrations with a cohesive CLI and Go library, providing deterministic Up/Down execution, support for embedded migrations, and provider-based execution to keep schemas consistent across environments.
Core Features & Use Cases
- CLI-driven migrations: up, down, status, create, and versioning to manage schema changes across databases.
- Library & Provider API: embed, run, and track migrations from within Go applications using Goose APIs.
- Embedded migrations: read migrations from embedded FS and apply them at runtime.
- Versioning & annotations: follow goose's annotation rules and maintain ordered migrations for team collaboration.
- Use Case: migrate a PostgreSQL database by applying a set of SQL and Go migrations with proper rollback support.
Quick Start
Install the goose tooling, initialize a migrations directory, and create your first migration with goose create to begin managing your database schema.