# Go Database Migration Libraries

> AI-ranked search results for `best go database migration libraries` on awesome-repositories.com — ordered by an LLM for relevance, best match first. 110 total matches; showing the top 9.

Explore on the web: https://awesome-repositories.com/q/best-go-database-migration-libraries

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/best-go-database-migration-libraries).**

## Results

- [mattes/migrate](https://awesome-repositories.com/repository/mattes-migrate.md) (2,282 ⭐) — This project is a database schema migration engine that provides a command-line interface and a library for managing sequential structural changes. It functions as a version control utility for database schemas, enabling the application, reversion, and synchronization of incremental updates across development and production environments.

The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of relational and non-relational storage systems. It maintains schema consistency by using a dedicated metadata table to track versions and prevent concurrent up
- [pressly/goose](https://awesome-repositories.com/repository/pressly-goose.md) (10,197 ⭐) — Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a framework for tracking and applying incremental database changes through versioned SQL scripts, ensuring consistency across different environments.

The project distinguishes itself by providing a build-time capability to exclude unused database drivers to optimize binary size and a filesystem abstraction that allows migration scripts to be bundled directly into a compiled executable. It also supports out-of-order execution logic to apply missing scripts that were created after a
- [golang-migrate/migrate](https://awesome-repositories.com/repository/golang-migrate-migrate.md) (18,118 ⭐) — This project is a command-line utility designed to manage database schema versioning and automate incremental schema updates. It functions as a version control system for database structures, ensuring consistency across environments by tracking applied migrations in a dedicated metadata table and executing scripts in a sequential, reliable manner.

The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of database engines, including various SQL and distributed cloud databases. It provides robust concurrency control through advisory locking, which prev
- [amacneil/dbmate](https://awesome-repositories.com/repository/amacneil-dbmate.md) (6,954 ⭐) — Dbmate is a framework-agnostic SQL database migration tool used for tracking, applying, and rolling back schema changes to ensure consistent environments. It functions as a database schema versioning tool that manages updates independently of any specific application framework by relying on raw SQL and connection URLs.

The project distinguishes itself by offering a container-based approach to database administration, allowing schema updates to be executed via Docker to avoid local binary installations. It also supports embedding migration scripts directly into the compiled binary to eliminate
- [liquibase/liquibase](https://awesome-repositories.com/repository/liquibase-liquibase.md) (5,527 ⭐) — Liquibase is a database schema change management tool and version control system designed to track, manage, and apply versioned database modifications. It functions as a SQL migration framework and DevOps automation utility that integrates database deployments into continuous delivery pipelines and build toolchains.

The system enables precise rollbacks and drift detection by recording every modification made to a database schema. It supports the definition of database changes through structured changesets in XML, YAML, or JSON, as well as raw SQL scripts, to ensure consistent deployments acro
- [ariga/atlas](https://awesome-repositories.com/repository/ariga-atlas.md) (8,096 ⭐) — Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions.

The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract
- [uptrace/bun](https://awesome-repositories.com/repository/uptrace-bun.md) (4,867 ⭐) — Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping. It functions as a programmable SQL query builder, a database connection manager, and a tool for mapping database tables to Go structs.

The project distinguishes itself through a multi-dialect SQL support system, allowing a single codebase to interact with different database engines via a consistent interface. It includes a built-in database observability tool for query interception, distributed tracing, and logging, as well as a schema migration tool for versioning structural c
- [rubenv/sql-migrate](https://awesome-repositories.com/repository/rubenv-sql-migrate.md) (3,411 ⭐) — SQL schema migration tool for Go.
- [go-gormigrate/gormigrate](https://awesome-repositories.com/repository/go-gormigrate-gormigrate.md) (1,164 ⭐) — Minimalistic database migration helper for Gorm ORM
