30 open-source projects similar to xataio/pgroll, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pgroll alternative.
Alembic is a database schema versioning system and migration tool for SQLAlchemy. It manages incremental updates to database structures using versioned scripts that support both upgrading and downgrading to keep the database and code in sync. The system utilizes a directed acyclic graph for migration management, which allows for non-linear versioning, including branching and merging across multiple root versions. It includes an automated schema diffing tool that compares live database schemas against metadata objects to programmatically generate migration instructions. The tool provides capa
gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime. The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and ad
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
SQLDelight is a Kotlin database library that validates SQL schema, statements, and migrations at compile time, generating type-safe Kotlin query functions from labeled SQL files. It treats SQL as the source of truth for database definitions, catching schema errors during the build process before they reach production. The library supports multiple database dialects including SQLite, MySQL, PostgreSQL, HSQL, and H2, and generates platform-specific code for Android, iOS, JVM, and JavaScript targets. It provides a platform-specific driver abstraction that handles database connectivity difference
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
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
Warehouse is a web application designed for hosting, storing, and distributing Python software packages to a global community of users. It functions as a centralized package repository and index server that manages software versions, metadata, and package classification. The project implements secure package attestation by verifying distribution integrity through cryptographic signatures and transparency logs. It manages user identity via an OAuth provider that integrates with third-party identity services using secure tokens. The system covers a broad range of infrastructure capabilities, i
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
Yii is a full-stack PHP web framework and component-based system designed for building dynamic websites and RESTful services. It operates as an MVC application framework that separates business logic from the user interface and includes a built-in object-relational mapper for interacting with databases. The project provides a comprehensive command line toolset for project bootstrapping, automated code generation, and the execution of background tasks. It utilizes a component-based architecture and a service locator to manage dependency injection and object lifecycles. The framework covers a
This project is a Node.js Express REST API reference implementation for a blogging platform. It serves as a structured blueprint for building server-side applications, demonstrating the integration of content management, user profiles, and social following. The implementation features a stateless identity management layer using cryptographically signed tokens to secure private resources and manage user sessions. It also includes social networking primitives for tracking user relationships to facilitate activity feeds and content discovery. The backend covers relational database management th
Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database tables to classes and execute SQL queries with build-time validation. It functions as a type-safe query builder and a wrapper for SQLite and PostgreSQL, eliminating manual result set parsing by binding query outputs to native objects. The project distinguishes itself through a build-time code generation system that produces type-safe APIs and validates raw SQL statements against database versions before execution. It features reactive query streaming, which transforms SQL queries
Android Lite ORM is a lightweight object-relational mapping and data persistence framework for Android that simplifies SQLite database operations. It maps Java and Kotlin objects directly to relational database tables using field annotations, eliminating the need for complex SQL statements or configuration files. The library handles data management through concise single-line operations that encapsulate transaction management and SQL generation. It supports recursive relationship mapping to persist nested object graphs and coordinates multiple distinct database file targets across internal a
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
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
CoreStore is a type-safe Swift interface and persistence wrapper for managing local data storage and object graphs using the Core Data framework. It functions as an atomic persistence manager that executes data updates within transactional blocks to ensure changes are either fully saved or rolled back to prevent state corruption. The project provides a dedicated framework for performing sequential schema migrations through defined version chains and a type-safe object mapping system for importing external JSON data into persistent entities using Swift protocols. It includes a data binding la
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
cookiecutter-flask is a project scaffolding tool used for bootstrapping Flask web applications. It uses a templating engine to generate a standardized directory structure and configuration files based on user input. The project implements the application factory pattern and blueprint-based modularization to organize application logic and ensure scalability. It integrates secure user authentication systems featuring password hashing, registration forms, and session management. The toolkit covers database schema management through versioned migration scripts and containerization for environmen
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
Padrino is a full-stack web application framework that extends Sinatra to build modular applications. It provides a structured environment for organizing URL endpoints into hierarchical controllers with named route aliases, dynamic parameters, and custom request lifecycle filters. Developers can combine multiple independent web sub-applications into a single running instance with isolated routing and configuration. The framework includes command-line automation tools for project generation, controller and action scaffolding, database model creation, and database migration generation. It featu
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
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
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
RedisShake is a migration and synchronization tool for Redis and Valkey instances. It facilitates the transfer of data between standalone, sentinel, and cluster deployments, acting as a cross-version database migrator and a utility for restoring data from backup files. The project provides a programmable data transformation pipeline that allows for filtering keys, remapping database indices, and executing Lua scripts to modify commands and keys during transit. It supports zero-downtime synchronization by replicating snapshots and streaming incremental changes in real time. The tool covers a
Strong Migrations is a PostgreSQL migration safety tool designed to prevent production downtime by detecting and blocking risky schema changes. It serves as a schema validator that identifies dangerous database operations and suggests safe alternatives to ensure zero-downtime deployments. The project distinguishes itself by acting as a database lock manager and index optimizer. It manages statement timeouts and implements automatic retry logic for lock timeouts to prevent database congestion. Additionally, it provides utilities to clean up invalid concurrent indexes and update table statistic
Archery is a suite of specialized utilities for database schema migration, SQL audit and review, mapping parsing, and performance analysis. It functions as a centralized platform for reviewing, executing, and auditing SQL queries across multiple database environments through controlled workflows. The platform includes a mapping parser that converts XML files into readable SQL statements to simplify the review of application-generated queries. It also provides tools for parsing slow query logs and analyzing execution patterns to optimize database indexes and speeds. The system covers broad da
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
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
pgeasyreplicate is a command-line utility designed to orchestrate database migrations and logical replication between PostgreSQL instances. It functions as a migration orchestrator that manages the entire lifecycle of data synchronization, from initial schema propagation to the final transition of application traffic. The tool distinguishes itself through state-aware switchover logic, which coordinates the movement of operations by verifying replication lag and enforcing write locks to prevent data loss. It provides granular control over data movement by allowing users to organize tables in