
About golang-migrate
golang-migrate runs schema migrations against a database. It ships as a command line tool and as a Go library you can use inside your own code.
What it does
You keep numbered migration files that move a database forward or back through schema changes. The tool tracks which migrations have run, so changes are applied in order. It supports a range of databases through drivers, including PostgreSQL and MySQL. Teams often run it from deployment scripts or CI pipelines.
Key features
- Command line tool for applying migrations
- Go library for use inside applications
- Up and down migration steps
- Drivers for PostgreSQL, MySQL and other databases
- Docker image available for container builds
Who it's for
Go developers and backend teams who want migrations kept in version control and run automatically from scripts or CI.
Pricing and good to know
golang-migrate is open source and free to use. It is written in Go, and its releases are built with GoReleaser. Check the repository for the list of supported database drivers and for installation steps for your system.
Highlights
- Command line tool for applying migrations
- Go library for use inside applications
- Up and down migration steps
- Drivers for PostgreSQL, MySQL and other databases
- Docker image available for container builds












