awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Go Database Migration Libraries

Ranking updated Jul 13, 2026

For a database migration tool for Go, the strongest matches are mattes/migrate (This project is a comprehensive database migration engine that), pressly/goose (Goose is a production-ready database migration tool that provides) and golang-migrate/migrate (This is a comprehensive database migration tool for Go). amacneil/dbmate and liquibase/liquibase round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best go database migration libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Go Database Migration Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • mattes/migratemattes avatar

    mattes/migrate

    2,282View on GitHub↗

    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

    This project is a comprehensive database migration engine that provides both a CLI and a programmatic Go API, supporting versioning and multi-driver migrations exactly as required for production-ready applications.

    GoDatabase Driver AbstractionsDatabase VersioningDatabase Schema Migrations
    View on GitHub↗2,282
  • pressly/goosepressly avatar

    pressly/goose

    10,197View on GitHub↗

    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

    Goose is a production-ready database migration tool that provides both a CLI and a programmatic Go API, supporting versioned SQL migrations across multiple database drivers with features like embedded filesystem support.

    GoDatabase VersioningSQL Migration WorkflowsDatabase Schema Migrations
    View on GitHub↗10,197
  • golang-migrate/migrategolang-migrate avatar

    golang-migrate/migrate

    18,118View on GitHub↗

    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

    This is a comprehensive database migration tool for Go that provides both a CLI and a programmatic API, supporting versioning and multi-driver execution for a wide range of SQL databases.

    GoDatabase VersioningDatabase MigrationsDatabase Schema Migrations
    View on GitHub↗18,118
  • amacneil/dbmateamacneil avatar

    amacneil/dbmate

    6,954View on GitHub↗

    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

    Dbmate is a production-ready, framework-agnostic migration tool that provides robust schema versioning, raw SQL support, and a CLI, while also allowing for programmatic integration through its Go-based architecture.

    GoDatabase VersioningDatabase MigrationsDatabase Schema Migrations
    View on GitHub↗6,954
  • liquibase/liquibaseliquibase avatar

    liquibase/liquibase

    5,527View on GitHub↗

    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

    Liquibase is a robust, industry-standard database migration tool that supports SQL-based versioning and multi-driver connectivity, though it is a Java-based application rather than a native Go library.

    JavaDatabase VersioningSchema VersioningDatabase Engine Support
    View on GitHub↗5,527
  • ariga/atlasariga avatar

    ariga/atlas

    8,096View on GitHub↗

    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

    Atlas is a production-ready database schema management tool that supports declarative migrations, SQL-based versioning, and a robust CLI, making it a comprehensive solution for managing database changes in Go applications.

    GoDatabase Migrations
    View on GitHub↗8,096
  • uptrace/bunuptrace avatar

    uptrace/bun

    4,867View on GitHub↗

    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

    Bun is a comprehensive ORM that includes a built-in migration tool for schema versioning and SQL-based migrations, making it a capable choice for managing database changes directly within your Go application.

    GoSchema VersioningDatabase Migration Tools
    View on GitHub↗4,867
  • rubenv/sql-migraterubenv avatar

    rubenv/sql-migrate

    3,411View on GitHub↗

    SQL schema migration tool for Go.

    This tool provides a robust CLI and programmatic API for managing SQL-based schema migrations in Go, supporting multiple database drivers and versioning out of the box.

    GoDatabase Migration ToolsDatabase MigrationsDatabase Tools
    View on GitHub↗3,411
  • go-gormigrate/gormigratego-gormigrate avatar

    go-gormigrate/gormigrate

    1,164View on GitHub↗

    Minimalistic database migration helper for Gorm ORM

    This is a database migration library specifically designed to work with the Gorm ORM, providing schema versioning and programmatic migration management for Go applications.

    GoDatabase Migration ToolsDatabase MigrationsDatabase Tools
    View on GitHub↗1,164

Related searches

  • an ORM for Go that handles migrations
  • a tool for managing database schema migrations
a tool to version my database schema
  • a declarative database schema tool
  • an ORM and query builder for Go
  • a testing framework for Go applications
  • a library for building GraphQL in Go
  • a database library for Swift applications