Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

golang-migrate

Free#14 of 32 in Database Migration ToolsDatabase Change Management Software

golang-migrate: A flexible, self-hosted migration engine for Go teams that prefer versioned SQL files. Ranked #14 of 32 in Database Migration Tools by our editors (7.5/10); pricing: Open source; best for go teams wanting a flexible migration engine.

7.5/10Editor score
golang-migrate7.5 Visit golang-migrate

At a glance

  • Editor score
    7.5 / 10
  • Pricing
    Open source
  • Best for
    Go teams wanting a flexible migration engine
  • Paid from
    Free
  • Rollback support
    Yes
  • Facts checked
    20 Sep 2026
golang-migrate screenshot
  • Where it wins

    • CLI and Go library interfaces support flexible implementation choices
    • Forward and backward migrations use paired, versioned up and down files
    • Multiple sources, drivers, Docker execution, locking, and graceful stopping
  • Where it doesn't

    • Schema diff and drift detection are outside its published feature focus
    • CI/CD automation is not a central part of the published feature set
    • The workflow centers on SQL migration files and developer-managed execution

Our verdict on golang-migrate

golang-migrate is an open-source database migration tool for Go developers. It combines a command-line interface with a Go library for reading versioned SQL migration files from local or remote sources and applying them to supported databases. Paired up and down files support movement forward or backward between versions, making it suited to teams that want migration behavior represented in code and managed within their own environments.

Its open-source model keeps the product focused on the migration engine rather than tiered service features. The CLI provides commands for creating, applying, reverting, forcing, dropping, and inspecting migration versions. Multiple database drivers, local and remote sources, Docker-based execution, database locking controls, and graceful stopping give Go teams several ways to fit migrations into development and deployment workflows. Windows, macOS, Linux, and self-hosted use are supported.

The main trade-off is focus. golang-migrate provides the core mechanics for versioned migration execution, but its published feature set centers on file-based migrations rather than schema diffing, drift detection, or broader CI/CD automation. That makes it a strong fit for Go teams that want CLI and library access, rollback support, SQL files, and control over execution. Teams seeking a more automated schema-management workflow or a wider operational platform should consider a tool built around those capabilities instead.

Your product? Our editors can test golang-migrate in depth and publish a review, labelled as paid · from $149/mo →

golang-migrate pricing

Plans Open sourceFree Free to use — no paid tier required for the core job.
See plans on github.com

golang-migrate fact sheet

Free planNot verified
Paid fromFree
Rollback supportYes
Schema diffNot verified
CI/CD automationNot verified
Supported databasesNot verified
Drift detectionNot verified
Self-hosted optionYes
Migration formatSql
DeploymentSelf-hosted, Desktop
PlatformsWindows, macOS, Linux
SupportCommunity, Docs
Built forSolo, Small business, Mid-market, Enterprise (editorial estimate)
PricingOpen source
Websitegithub.com
Facts checked20 Sep 2026

Alternatives to golang-migrate

See all golang-migrate alternatives →

Also Ranked In

golang-migrate is ranked in 2 of our directories.

Used golang-migrate? Be the first to review it

The editor score above is our own research. What this page doesn't have yet is a reader's view — what you used golang-migrate for, what worked and what didn't. No stars are seeded and no review is paid for; an editor reads every one before it appears.

Write a reviewTwo minutes · verified accounts only · read by an editor before it appears

Reviews come only from verified accounts. Sign in or create an account first — your e-mail is never shown.

Your rating

0 characters · at least 80, up to 3,000

Posted from your verified account. Reviews appear after an editor reads them, usually within two working days.

Featured on iTechGuides

Featured on iTechGuides — golang-migrate 7.5/10

golang-migrate is listed in our Database Migration Tools directory. Add the badge to your site — it links back to this page.

<a href="https://www.itechguides.com/products/golang-migrate/"><img src="https://www.itechguides.com/best/badge/golang-migrate.svg" alt="Featured on iTechGuides" width="230" height="46"></a>

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update