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
·

Database Migration Tools

Ranking updated Jun 30, 2026

For a tool for managing database schema migrations, the strongest matches are amacneil/dbmate (Dbmate is a framework-agnostic SQL migration CLI that tracks), flyway/flyway (Flyway is a database migration tool that enforces version-controlled) and golang-migrate/migrate (golang-migrate/migrate is a CLI-driven database schema migration tool that). liquibase/liquibase and pressly/goose round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Automated schema versioning and data migration utilities for managing database evolution across development and production environments.

Database Migration Tools

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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 framework-agnostic SQL migration CLI that tracks, applies, and rolls back schema changes across multiple databases (PostgreSQL, MySQL, SQLite, etc.), exactly fitting your need for version-controlled migrations, though it requires hand-written SQL rather than auto-generating them.

    GoDatabase MigrationsDatabase VersioningDatabase Schema Migrations
    View on GitHub↗6,954
  • flyway/flywayflyway avatar

    flyway/flyway

    9,844View on GitHub↗

    Flyway is a database schema versioning tool and SQL migration orchestrator. It applies version-controlled schema changes to relational databases using SQL scripts and Java Database Connectivity to ensure environments remain consistent and reproducible. The tool tracks applied migration scripts in a dedicated metadata table to determine which updates require execution. It supports the synchronization of schema versions across multiple different database engines and provides integration for build systems and application frameworks to automate updates during software release processes. Capabili

    Flyway is a database migration tool that enforces version-controlled schema changes across relational databases, supports multiple database engines, and integrates with build systems and CLIs—ideal for managing schema versions reliably, though it requires manual migration scripts and does not natively auto-generate migrations.

    JavaDatabase Migration ToolsDatabase MigrationsDatabase Schema Migrations
    View on GitHub↗9,844
  • 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

    golang-migrate/migrate is a CLI-driven database schema migration tool that supports version-controlled updates across many database engines via a pluggable driver layer, squarely matching the category, though it does not explicitly advertise auto-generation or idempotent migrations.

    GoDatabase MigrationsDatabase VersioningDatabase Schema Migrations
    View on GitHub↗18,118
  • 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 full-featured database schema migration tool with version control, rollback, multi-database support, a CLI, and auto-generation of changesets, exactly matching your need to manage and apply schema changes reliably.

    JavaDatabase VersioningDatabase Schema Version Control
    View on GitHub↗5,527
  • 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 Go-based CLI tool that manages versioned SQL migrations with rollback support and multiple database drivers, making it a solid fit for versioned schema management — though it lacks built-in auto-generation of migrations from schema diffs.

    GoDatabase VersioningDatabase Schema MigrationsSchema Migrations
    View on GitHub↗10,197
  • bytebase/bytebasebytebase avatar

    bytebase/bytebase

    14,151View on GitHub↗

    Bytebase is a database DevSecOps platform and management console designed to orchestrate schema migrations, deployments, and security audits across multiple database engines. It serves as a SQL GitOps tool that synchronizes database states with configurations stored in Git repositories to manage infrastructure as code. The platform distinguishes itself through a multi-database management console that provides a single interface for relational and NoSQL databases. It includes a security layer for role-based access control, database activity auditing, and column-level data masking to protect se

    Bytebase is a database migration platform that supports version-controlled migrations via GitOps, multiple database engines, rollback, and includes a CLI, making it a strong fit for reliably managing schema changes across environments.

    GoDatabase Schema Migrations
    View on GitHub↗14,151
  • prismagraphql/prismaprismagraphql avatar

    prismagraphql/prisma

    16,393View on GitHub↗

    Prisma is a type-safe database object-relational mapper that uses a declarative schema to map data models to relational and document databases. It provides a unified toolkit for data access, combining a database driver with tools for schema management and record manipulation. The project features a multi-database driver that standardizes interactions across PostgreSQL, MySQL, and MongoDB. It includes a system for tracking and applying structural schema migrations across different environments and a graphical user interface for browsing and editing database records. The system ensures data in

    Prisma is a toolkit that includes a dedicated migration system (Prisma Migrate) for versioning and applying schema changes across environments, covering version-controlled migrations, auto-generation, and idempotent application—though rollback support is less direct than standalone migration-only tools.

    ScalaDatabase Migration ToolsDatabase Schema Migrations
    View on GitHub↗16,393
  • 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

    mattes/migrate is a widely-used database migration tool that provides a CLI and Go library, supporting multiple databases and version-controlled migrations—exactly what you need for managing schema changes across environments.

    GoDatabase VersioningDatabase Schema Migrations
    View on GitHub↗2,282
  • doctrine/migrationsdoctrine avatar

    doctrine/migrations

    4,770View on GitHub↗

    This project is a database version control system and schema evolution manager designed to track and apply incremental changes to database structures. It serves as a tool for versioning SQL database migrations using both programmatic PHP classes and SQL scripts. The system is designed specifically for integration with the Doctrine Object Relational Mapper for PHP, allowing database schemas to evolve incrementally without data loss through reversible migration steps. It covers capabilities for automated database migrations, environment synchronization, and schema versioning. These features fa

    Doctrine Migrations is a mature PHP library that provides version-controlled, rollback-capable database schema migrations via CLI, supporting multiple database drivers and auto-generation, exactly matching this search for a database migration tool.

    PHPDatabase MigrationsDatabase Schema Version Control
    View on GitHub↗4,770
  • tortoise/tortoise-ormtortoise avatar

    tortoise/tortoise-orm

    5,582View on GitHub↗

    Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while running on asyncio. It defines database tables as Python classes with typed fields and supports foreign key, many-to-many, and one-to-one relations, providing a chainable query API for filtering, annotating, grouping, and prefetching related objects without blocking the event loop. The ORM includes a built-in migration engine that detects model changes, generates migration files, and applies or reverts schema changes through a command-line tool. It connects to PostgreSQL, MyS

    Tortoise ORM includes a built-in migration engine with a CLI that detects model changes, auto-generates migration files, and supports apply/revert across multiple databases, making it a solid database migration tool integrated into an async ORM.

    PythonMigration GenerationMigration ReversionMulti-Database Support
    View on GitHub↗5,582
  • 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 database schema management and migration tool that uses a declarative engine to auto-generate SQL from desired vs. current states, covering versioned migrations and multiple drivers — it’s the right category and handles auto-generation and CLI use, though rollback support and idempotency are not explicitly confirmed in the evidence.

    GoDatabase MigrationsMigration GenerationMigration Reversion
    View on GitHub↗8,096
  • knex/knexknex avatar

    knex/knex

    20,300View on GitHub↗

    Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and a versioned schema migration tool. It enables programmatic database interaction across multiple SQL engines, including PostgreSQL, MySQL, SQLite3, SQL Server, CockroachDB, and Oracle. The project distinguishes itself through a fluent interface for constructing complex SQL statements and a dedicated framework for database seeding. It utilizes specialized dialects to translate generic query representations into database-specific syntax while maintaining a consistent API across

    Knex is a multi-dialect SQL query builder and migration tool with a CLI for versioned, rollback-capable schema migrations across PostgreSQL, MySQL, SQLite, SQL Server, and more—directly matching your need for reliable database schema management, though it lacks automatic schema-diff generation.

    JavaScriptDatabase Schema MigrationsSQL Dialect Adapters
    View on GitHub↗20,300
  • prisma/prismaprisma avatar

    prisma/prisma

    46,366View on GitHub↗

    Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations. The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o

    Prisma is a database toolkit that includes Prisma Migrate, offering version-controlled migrations with CLI support, multiple database drivers, and auto-generation from schema changes, directly addressing the need to manage and apply schema changes across environments.

    TypeScriptObject-Relational MappersSchema Modeling ToolsType-Safe Client Generators
    View on GitHub↗46,366
  • db-migrate/node-db-migratedb-migrate avatar

    db-migrate/node-db-migrate

    2,343View on GitHub↗

    This project is a database migration framework designed to manage and execute versioned schema changes across multiple relational and document-oriented database systems. It functions as a utility for tracking and applying structural modifications through sequential migration scripts, ensuring that database schemas remain consistent across development, testing, and production environments. The framework utilizes a driver-based abstraction layer that decouples migration logic from specific database engines, allowing for a unified interface when performing schema operations. It maintains state t

    db-migrate is a Node.js database migration framework that provides version-controlled schema changes, making it a solid match for managing and applying database migrations across environments.

    JavaScriptDatabase MigrationsDatabase VersioningDatabase Schema Migrations
    View on GitHub↗2,343
  • thuss/standalone-migrationsthuss avatar

    thuss/standalone-migrations

    995View on GitHub↗

    Standalone Migrations is a Ruby-based utility that provides database schema management and migration capabilities outside of a full web framework. It enables developers to track, version, and apply structural changes to relational databases using standard migration scripts in custom or non-framework environments. The tool distinguishes itself by offering multi-database isolation, allowing for the management of independent data stores within a single project through separate configuration sets and migration paths. It supports dynamic environment-aware configuration, which allows connection set

    thuss/standalone-migrations is a gem that brings Rails' version-controlled, rollback-supporting migrations to non-Rails projects, making it a solid fit for managing and reliably applying schema changes, though it is Ruby-only and may not offer auto-generation or a standalone CLI as its primary interface.

    RubyDatabase Migration ToolsDatabase Schema Migrations
    View on GitHub↗995
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
amacneil/dbmate7KGoMITJun 12, 2026
flyway/flyway9.8KJavaApache-2.0Jun 5, 2026
golang-migrate/migrate18.1KGootherDec 14, 2025
liquibase/liquibase5.5KJavaNOASSERTIONJun 16, 2026
pressly/goose10.2KGootherFeb 20, 2026
bytebase/bytebase14.2KGoNOASSERTIONJun 16, 2026
prismagraphql/prisma16.4KScalaApache-2.0Sep 1, 2022
mattes/migrate2.3KGoNOASSERTIONJun 16, 2018
doctrine/migrations4.8KPHPMITJun 19, 2026
tortoise/tortoise-orm5.6KPythonApache-2.0Jun 15, 2026

Related searches

  • a tool to version my database schema
  • a database migration tool for Go
  • a declarative database schema tool
  • Schema, migrations and versioning
  • an ORM for Go that handles migrations
  • a web based interface for managing databases
  • a relational database management system for data
  • Git-style branching for my database