22 Repos
Tools for managing and automating database structure evolution.
Distinguishing note: Focuses on database versioning rather than general software deployment.
Explore 22 awesome GitHub repositories matching data & databases · Schema Migrations. Refine with filters or upvote what's useful.
Outline is a full-stack server-side web application designed as a centralized platform for collaborative knowledge management. It provides teams with the infrastructure to create, organize, and share structured documentation through real-time editing tools, while supporting high availability and horizontal scalability in production environments. The platform distinguishes itself through a comprehensive suite of operational and development tools. It includes a command-line interface for managing database schema versioning and structural consistency across deployments, alongside an integrated t
Provides a command-line interface for managing database schema versioning and structural consistency across environments.
graphql-engine is an automated GraphQL API engine that transforms database tables and relationships into a queryable GraphQL schema. It functions as a federation gateway and mapper, instantly generating APIs with built-in filtering, pagination, and mutations from existing databases and remote schemas. The project distinguishes itself through a fine-grained access control layer that enforces row-level and field-level permissions. It further provides a real-time data subscription server that converts standard queries into live streams and a system for triggering event-driven webhooks and notifi
Tracks and applies database schema changes through a versioned migration system.
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
Sequelize supports automatic schema synchronization to keep the database structure in sync with application model definitions.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
Automates schema migrations to maintain data integrity across distributed client devices.
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
Records the current version of the database schema in a dedicated table to ensure sequential application of migrations.
PouchDB is a JavaScript NoSQL document database that runs directly in the browser. It serves as an offline-first data store that allows applications to save state and user data locally using persistent storage. The database is compatible with CouchDB, implementing its API to enable synchronization between browser environments and remote servers. This allows for cross-device data syncing and the development of local-first software that operates without a constant internet connection. The project covers data storage and synchronization capabilities, including the ability to migrate database sc
Includes logic to detect outdated data formats and apply sequential schema transformations during initialization.
This is a mobile object database and NoSQL local data store that replaces relational tables with a schema-based model. It functions as a reactive data store, using live object observations and change notifications to trigger automatic user interface refreshes. The system provides built-in mobile cloud data synchronization to keep local datasets consistent with a remote server across multiple devices. It also includes security features for encrypted local storage, protecting sensitive on-disk data using at-rest encryption keys and fine-grained access control. Broad capabilities include object
Implements schema migrations to transform existing data structures into new versions.
EdgeDB is a graph-relational database that combines a PostgreSQL backend with a graph-based schema and query language. It functions as an object-relational mapper and graph query engine, allowing data to be modeled as objects and links to align storage with modern programming language structures. The system features a composable query language designed to retrieve deeply nested or interconnected data without the use of manual SQL joins. It includes an integrated AI-driven data retrieval solution with built-in support for vector embeddings. The platform provides a schema migration tool for tr
Automates the tracking and application of versioned schema changes to maintain environment consistency.
Gel is an object-relational database system that models data as a graph of interconnected objects. By utilizing a strongly typed schema, it enables complex relational queries and polymorphic data structures without the need for traditional join tables. The system integrates native vector storage and similarity search operators, allowing it to function as both a relational and a vector database for semantic data retrieval. The platform distinguishes itself through a comprehensive suite of developer-centric automation tools. It features a declarative migration system that tracks and versions sc
Transforms existing records during schema updates using expressions to ensure data compatibility.
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
Enables the simultaneous execution of multiple schema migrations across different tables to improve efficiency.
SQLite.swift is a type-safe Swift wrapper and object-relational mapping layer that provides a bridge for interacting with SQLite databases. It functions as a database driver that allows for embedded database management and local data persistence within Swift applications. The project distinguishes itself through a type-safe expression builder that verifies SQL statement syntax and intent at compile time. It includes specialized support for high-performance text matching via full-text search integration and provides mechanisms for securing sensitive data through database encryption. The libra
Provides tools for managing and automating the evolution of the database structure over time.
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
Supports reverting the database schema to previous versions by executing defined inverse migration logic.
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Implements a system for automating database structure evolution via versioned migrations.
GRDB.swift is a comprehensive SQLite toolkit and object-relational mapper for Swift. It provides a database wrapper that handles local data persistence, connection management, and encrypted file storage for Apple platforms. The library features a dedicated observation framework that tracks database changes to automatically synchronize the application state and user interface in real time. It distinguishes itself with a type-safe query builder and a protocol-based mapping system that converts database rows into structured Swift objects. The toolkit covers a broad range of administrative and o
Manages database versioning through a sequence of ordered migration scripts to evolve the schema.
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
Validates database schemas and migration scripts using software testing paradigms to ensure correctness.
Buildbot ist ein auf Python basierendes Continuous-Integration-Framework und ein verteilter Build-Orchestrator. Es fungiert als Build-Automatisierungs-Engine, die das Abrufen von Quellcode, die Ausführung von Build-Schritten und die Berichterstattung über Ergebnisse über einen zentralen Controller und ein Netzwerk aus Remote-Worker-Agents koordiniert. Das System zeichnet sich durch eine plugin-basierte Erweiterbarkeitsarchitektur und ein Master-Worker-Verteilungsmodell aus. Es ermöglicht dynamische Build-Anpassungen zur Laufzeit und unterstützt ein austauschbares Datenbank-Backend zur Persistierung des Systemzustands und historischer Build-Daten. Das Projekt deckt ein breites Spektrum an Funktionen ab, darunter automatisierte Build-Planung und Pipeline-Orchestrierung, Versionskontrollintegration via Polling und Webhooks sowie die Bereitstellung von Workern auf physischen Servern, Docker-Containern und Kubernetes-Clustern. Zudem bietet es umfassende Überwachung und Observability durch Build-Log-Analyse und Performance-Tracking sowie sicheres Secret-Management und Multi-Provider-Authentifizierung. Die administrative Steuerung erfolgt über eine dedizierte Weboberfläche und Befehlszeilenwerkzeuge zur Konfigurationsvalidierung und Prozessverwaltung.
Validates database schema upgrade scripts against multiple database engines using containerized environments.
Strong Migrations ist ein PostgreSQL-Migrations-Sicherheitstool, das darauf ausgelegt ist, Produktionsausfälle durch das Erkennen und Blockieren riskanter Schema-Änderungen zu verhindern. Es dient als Schema-Validator, der gefährliche Datenbankoperationen identifiziert und sichere Alternativen vorschlägt, um Zero-Downtime-Deployments zu gewährleisten. Das Projekt zeichnet sich dadurch aus, dass es als Datenbank-Lock-Manager und Index-Optimierer fungiert. Es verwaltet Statement-Timeouts und implementiert eine automatische Retry-Logik für Lock-Timeouts, um Datenbanküberlastungen zu vermeiden. Zudem bietet es Dienstprogramme zur Bereinigung ungültiger paralleler Indizes und zur Aktualisierung von Tabellenstatistiken nach Schema-Änderungen, um die Leistung des Query-Planners aufrechtzuerhalten. Das Tool deckt eine breite Palette an Datenbankmanagement-Funktionen ab, einschließlich Sicherheitsvalidierung mit anpassbaren Regeln, automatisierter Migrationsmuster und struktureller Schema-Organisation wie Spalten-Alphabetisierung. Es verwendet versionsbewusste Validierung, um Sicherheitsprüfungen an die spezifischen Funktionen der Ziel-Datenbank-Engine anzupassen.
Identifies risky database operations and suggests safe patterns to prevent production downtime.
Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management. It utilizes a Cypher query engine for declarative data retrieval and manipulation, providing a scalable knowledge graph backend that integrates vector search and graph traversals. The system distinguishes itself as a real-time graph analytics platform, employing native C++ and CUDA implementations to execute complex network analysis and dynamic community detection on streaming data. It provides specialized support for AI integration, including GraphRAG capabilities, the constr
Performs pre- and post-migration checks to ensure the accuracy of transformed data.
pgdog is a PostgreSQL sharding proxy, distributed SQL router, and connection pooler. It is designed to enable horizontal data distribution by splitting tables and indices across multiple independent servers to scale storage and processing capacity. The project distinguishes itself through online resharding capabilities, using logical replication to move data between shards without application downtime. It supports multiple routing strategies, including hash, list, and range-based query routing, and manages distributed atomic transactions using a two-phase commit process to ensure consistency
Distributes table copy loads across multiple read replicas in parallel to reduce resharding time.
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
Runs tests against schema changes to verify that migrations apply reliably across different database versions.