awesome-repositories.com
Blog
MCP
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
·
golang-migrate avatar

golang-migrate/migrate

0
View on GitHub↗
18,118 stars·1,551 forks·Go·other·9 views

Migrate

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 prevents conflicting schema changes during simultaneous deployment attempts. To ensure data integrity, the system supports atomic execution by wrapping migration scripts in transactions, while also offering the flexibility to execute custom shell scripts or complex multi-statement files using delimiter-based parsing.

The platform includes comprehensive configuration options for managing database connections, retry logic for transient errors, and the customization of migration tracking tables. It is designed to integrate into automated deployment pipelines, providing a unified interface for schema management regardless of the underlying database technology.

Features

  • Database Schema Migrations - Automates the application of versioned SQL schema updates to maintain structural consistency across database environments.
  • Database Migrations - Automates incremental schema updates and tracks version history to ensure consistency across environments.
  • Automated Migrations - Executes automated schema updates as part of a deployment pipeline to keep database structures in sync.
  • Database Versioning - Manages incremental changes to database structures by tracking applied versions across environments.
  • Database Migration Management - Manages and automates schema updates across environments using versioned scripts and concurrency-safe advisory locking.
  • Advisory Locking Mechanisms - Prevents conflicting schema changes during simultaneous deployment attempts by utilizing advisory locks.
  • Schema Migrations - Records the current version of the database schema in a dedicated table to ensure sequential application of migrations.
  • Database Abstraction Layers - Provides a unified interface layer to interact with various SQL and distributed database engines.
  • Database Migration Tools - Comprehensive migration tool with CLI and library support.
  • Database Migrations - Multi-database migration handling tool.
  • Database Tools - Database migration tool.
  • Databases and Storage - A library and CLI tool for database schema migrations.
  • Schema Migration Tools - Database migration library and CLI tool.
  • Database Transactions - Ensures database integrity during schema updates by wrapping migration scripts in atomic transactions.
  • Transactional Migration Managers - Wraps migration scripts in atomic transactions to ensure schema changes either fully succeed or roll back.
  • ClickHouse Connectors - Connects to ClickHouse analytical databases to manage schema migration state.
  • CockroachDB Connectors - Establishes secure connections to CockroachDB clusters for safe schema migration operations.
  • Firebird Connectors - Connects to Firebird databases using custom authentication and wire encryption settings.
  • MySQL Connectors - Connects to MySQL databases with support for encryption and custom connection configurations.
  • PostgreSQL Connectors - Connects to PostgreSQL instances using secure connection strings and custom schema search paths.
  • Database Deployment Automation - Prevents conflicting schema changes during simultaneous deployment attempts by utilizing advisory locks and state management.
  • Version Tracking - Maintains a dedicated metadata table to track applied schema versions and prevent duplicate execution.
  • Concurrency Control - Prevents conflicting schema changes during simultaneous deployments using database-level advisory locks.
  • Migration Execution Engines - Splits migration scripts into individual statements using delimiters to support complex schema modifications.
  • Distributed Databases - Supports connections to distributed database instances to apply schema changes across multiple nodes.
  • Database Connection Configurations - Configures database connection parameters including authentication, security certificates, and timeouts.
  • Migration Configurations - Configures advisory locking strategies and timeouts to manage concurrent migration access.
  • Migration Execution - Manages migration execution behavior including custom table names and transaction controls.

Star history

Star history chart for golang-migrate/migrateStar history chart for golang-migrate/migrate

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does golang-migrate/migrate do?

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.

What are the main features of golang-migrate/migrate?

The main features of golang-migrate/migrate are: Database Schema Migrations, Database Migrations, Automated Migrations, Database Versioning, Database Migration Management, Advisory Locking Mechanisms, Schema Migrations, Database Abstraction Layers.

What are some open-source alternatives to golang-migrate/migrate?

Open-source alternatives to golang-migrate/migrate include: pressly/goose — Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a… dotnet/efcore — Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using… amacneil/dbmate — Dbmate is a framework-agnostic SQL database migration tool used for tracking, applying, and rolling back schema… datlechin/tablepro — TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL… jeremyevans/sequel — Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder,… ilyakatz/data-migrate — Data-migrate is a command-line utility designed for managing and executing sequential data transformations alongside…

Open-source alternatives to Migrate

Similar open-source projects, ranked by how many features they share with Migrate.
  • 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

    Godatabasedatabase-migrationsgo
    View on GitHub↗10,197
  • dotnet/efcoredotnet avatar

    dotnet/efcore

    14,587View on GitHub↗

    Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a

    C#aspnet-productc-sharpdatabase
    View on GitHub↗14,587
  • 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

    Goclickhousecppdatabase
    View on GitHub↗6,954
  • datlechin/tableprodatlechin avatar

    datlechin/TablePro

    4,471View on GitHub↗

    TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL and NoSQL databases. It functions as a unified workspace that integrates a code-centric SQL editor with schema visualization tools, allowing developers to manage complex data models and execute queries across diverse database engines. The application distinguishes itself through an agentic AI integration layer that connects language models directly to database tools, enabling automated query generation, optimization, and error fixing with configurable approval gates. It features

    Swift
    View on GitHub↗4,471
See all 30 alternatives to Migrate→