30 open-source projects similar to sqlalchemy/alembic, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Alembic alternative.
DoctrineMigrationsBundle is a database schema migration tool and a Symfony framework integration for managing and versioning database changes using the Doctrine Migrations library. It functions as a bridge connecting the Symfony service container to Doctrine database migration workflows. The project provides a system for tracking and applying incremental changes to a database schema, ensuring consistent states across development, staging, and production environments. It automates schema updates to maintain data structures without manual SQL execution. The tool integrates with the framework t
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
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
pgroll is a PostgreSQL migration framework designed for zero-downtime schema changes. It applies non-blocking DDL operations that avoid exclusive locks on tables, and uses trigger-based column backfill to populate new columns while keeping them synchronized with old ones. The framework wraps each migration step in a database transaction that can be atomically committed or rolled back, and creates a versioned view layer that exposes both old and new schema versions simultaneously to client applications. The tool distinguishes itself by managing multiple schema versions via views, enabling safe
Phinx is a PHP database migration and versioning tool used to track and deploy structural changes to database schemas across different environments. It functions as a version control system for databases, allowing structural modifications to be defined and managed through PHP code. The tool provides mechanisms for database schema versioning and rollback, enabling users to undo previously applied migrations and restore a database to a specific previous state. Additionally, it includes a database seeder for populating tables with initial baseline records or dummy data. The system operates as a
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
This project is an object persistence library and data mapper abstraction layer. It provides a set of shared interfaces and base classes designed to decouple domain logic from specific object mapper implementations, separating the business domain layer from the underlying data access implementation. The library includes a database schema management and migration tool for defining, versioning, and deploying incremental updates to database structures across different environments. It also functions as a document database mapper, translating object states into structured document formats for sto
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
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
tbls is a Go-based command line utility used for documenting, analyzing, and linting relational database schemas. It functions as a documentation tool that generates structured reports and entity-relationship diagrams in Markdown, JSON, or Excel formats, as well as a schema diff tool for identifying discrepancies between a live database and its documentation. The project allows for schema augmentation and the definition of virtual relationships through external configuration files, enabling metadata overrides and table connections without requiring database migrations or native constraints. I
Goravel is a full-featured development scaffold and framework for building web applications, REST APIs, and gRPC services using the Go programming language. It implements a model-view-controller architecture and provides a comprehensive toolkit for high-performance remote procedure call servers and clients. The framework is distinguished by its extensive integrated ecosystem, which includes a fluent object-relational mapper for database management and a dedicated command-line interface toolkit for administrative automation and project scaffolding. It features a driver-based service abstractio
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
ihp is a type-safe web framework and full-stack application orchestrator designed for PostgreSQL. It functions as a server-side rendering framework and a type-safe ORM that automatically generates record types from SQL schemas to ensure compile-time query validation. The platform distinguishes itself by verifying routing, database queries, and templates at compile time to prevent runtime crashes. It implements real-time web interfaces using WebSockets for instant data synchronization and employs server-driven hypermedia for partial DOM patching. The framework covers a broad range of integrat
Data-migrate is a command-line utility designed for managing and executing sequential data transformations alongside standard database schema migrations. It functions as a framework for version control, allowing teams to track, roll back, and synchronize both structural database changes and data updates across multiple environments and deployment pipelines. The tool distinguishes itself by coordinating migrations across multiple database connections within a single application, ensuring data integrity in distributed architectures. It supports modular project structures by allowing migration s
cr-sqlite is a multi-master database replication system that uses conflict-free replicated data types to ensure eventual consistency across distributed nodes. It provides the core capabilities for offline-first data synchronization, allowing multiple database instances to merge concurrent updates and reach a consistent state. The project distinguishes itself through a combination of CRDT-based data replication and a WASM-based database engine, enabling full SQL execution and state persistence within web browsers. It supports peer-to-peer replication and cross-tab synchronization, utilizing ca
Synapse is a Matrix homeserver implementation that provides the infrastructure for decentralized, real-time communication and messaging. It functions as a federated chat server that synchronizes room data and event streams across independent server instances to enable cross-domain interoperability. The server utilizes a hybrid core that integrates performance-critical logic in Rust with a Python orchestration layer. It employs a PostgreSQL relational database for persisting user accounts and conversation history, and uses a Redis-based messaging system to distribute tasks across horizontal wo
This project is an asyncio database abstraction layer that provides a common interface for performing non-blocking database operations in Python. It functions as an asynchronous database driver wrapper and a SQL expression builder, allowing for the construction of raw SQL strings from structured Python objects. The library includes an asyncio connection pool manager that utilizes task-local storage to handle connection lifecycles and reduce resource overhead. It also serves as an async database transaction manager, wrapping operations in atomic transactions and savepoints to maintain data int
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
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
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Boto3 is the AWS SDK for Python, providing a programmatic interface for managing and automating AWS cloud infrastructure and services. It serves as a cloud management API client and resource manager for provisioning, configuring, and scaling virtual servers, databases, and storage. The library enables the implementation of infrastructure-as-code through declarative templates and scripts, allowing for the deployment of identical resource stacks across multiple accounts and geographic regions. It also provides a framework for coordinating distributed workflows, serverless functions, and contain
This project is a social blogging application built with Flask. It provides a platform for user account management, following relationships, and chronological post streams, supported by a PostgreSQL relational database. The application features a multilingual web interface with localized content and date formatting. It is designed as a dockerized web application, utilizing containerization for consistent deployment across different environments. The system integrates a variety of core capabilities, including full-text search with provider abstraction, an asynchronous task worker for backgrou
ActiveAndroid is a persistence framework for managing local SQLite databases on Android. It provides an active record object-relational mapping system that binds database tables to classes, allowing for data persistence and retrieval without writing manual SQL. The project distinguishes itself through a dedicated schema migration tool that updates database structures using versioned scripts loaded from application assets. It also includes a framework for sharing database content between different Android applications via a standard URI-based content provider interface. The library covers bro
Nodal is a Node.js API framework designed for building data-centric web services and JSON APIs using structured data models. It functions as an object-relational mapper that allows for the querying and manipulation of database records through objects instead of raw SQL queries. The project includes a database migration tool for tracking and applying bi-directional schema changes to maintain data integrity across different environments. It also features a command line interface for automating the registration and configuration of remote hosting environments. The framework provides capabilitie
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
This project serves as a comprehensive reference architecture and a guide to best practices for developing scalable applications with the Spring Boot framework. It provides a structural blueprint for Java backend development, focusing on the implementation of decoupled APIs and the establishment of architectural standards. The project specifically details the creation of custom starters and auto-configuration modules to simplify the integration of third-party libraries. It also provides a deployment blueprint for packaging applications as executable jars and optimizing layered builds for cont
This project is a self-hosted community engine and forum software designed for hosting threaded discussions. It functions as a JSON API community platform, exposing all data and functionality through a standardized interface to support a single-page application architecture. The system is built to be a multi-language discussion board with integrated localization and language pack support. The platform is defined by a modular architecture that allows for extensive customization through an extension-based plugin system. This extensibility enables the modification of core behavior, the addition
LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw SQL queries with a fluent interface and object mapping to simplify local data persistence and database management. The project provides a specialized system for automatically synchronizing database schemas based on model definitions to handle version updates. It also includes a storage solution for securing sensitive data through configurable field-level encryption. The library covers broad data storage and synchronization capabilities, including atomic transaction support, m
This project is a collection of community-driven coding standards and best practices for developing maintainable Ruby on Rails applications. It serves as a style guide, architecture reference, and development guide to ensure consistency across a codebase. The guide provides technical recommendations for establishing naming conventions and architectural patterns. It specifically focuses on organizing models, controllers, and views to separate business logic from data persistence and user interface presentation. The documentation covers a broad range of capabilities, including RESTful API desi