15 dépôts
Automated tools for evolving database structures while preserving data integrity.
Distinct from Data Structure Migration: Focuses on the versioning and application of schema changes rather than one-time data transformation.
Explore 15 awesome GitHub repositories matching data & databases · Schema Migrations. Refine with filters or upvote what's useful.
redux-persist is a state persistence library for Redux that saves and restores store state to a storage engine to maintain data across sessions. It functions as a state rehydration tool and serialization middleware, loading previously saved application state back into the Redux store during the initialization process. The library includes a schema migration utility to transform persisted state data from older versions to newer schemas, ensuring compatibility after application updates. It also provides state serialization transformations to modify state objects before they are written to or re
Transforms stored state into a newer schema version using a sequence of migration functions or custom handlers.
Riverpod is a reactive state management framework for Dart that manages application state through providers which automatically track dependencies and rebuild dependents when values change. It functions as an asynchronous data caching library, caching results of async operations and exposing loading, error, and data states to widgets without manual future handling. The framework includes a provider composition system that combines multiple providers into derived values that recompute automatically when any dependency changes, along with code generation for state providers that reduces boilerpl
Discards old persisted state on schema changes to enable clean initialization with the new data format.
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
Assembles the database schema by applying numbered migration files in order.
Django Oscar is a domain-driven e-commerce framework built on Django for constructing custom online stores. It provides a purpose-built admin dashboard for managing e-commerce operations including products, orders, customers, and promotions, replacing the default Django admin interface. The framework includes a flexible promotions engine for creating multi-buy, bundle, and percentage discounts with custom conditions and benefits, along with a configurable order status and transition system that supports split payments, multi-batch shipping, and deferred payment capture. The framework is desig
Merges upstream model changes into forked apps by copying or adapting migrations with dependency handling.
Build Offline-First Apps for Web and React Native
Transforms persisted store schemas across app versions to maintain compatibility with long-running offline data.
Realm is a mobile database: an alternative to SQLite & key-value stores
Transforms existing data when the object schema changes, preserving stored information.
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
Applies schema changes, detects differences, and manages data migrations through a built-in command-line tool.
Grin est une implémentation de protocole et un nœud blockchain qui fournit un système de transaction confidentiel. Il utilise des engagements de Pedersen et le chiffrement homomorphe pour vérifier l'intégrité de la valeur et assurer une masse monétaire cohérente sans révéler les montants spécifiques des transactions ou les identités des participants. Le projet se distingue par un modèle d'échange de transactions interactif, où les portefeuilles coordonnent des échanges de données en plusieurs rounds pour construire des transactions signées. Pour maintenir l'anonymat, le système prend en charge la livraison de transactions routées en oignon et masque les adresses IP d'origine via des mécanismes de relais spécialisés. Il incorpore également une preuve de travail (PoW) gourmande en mémoire pour résister à la domination du minage ASIC et utilise un modèle de registre à élagage d'état avec un stockage Merkle Mountain Range pour réduire l'empreinte disque de la blockchain. La base de code couvre un large ensemble de capacités, incluant l'exécution d'échanges atomiques cross-chain sans confiance, la gestion de portefeuilles déterministes hiérarchiques et l'opération de nœuds réseau complets. Elle fournit des outils pour le minage limité par la mémoire, l'exécution de contrats cryptographiques via des timelocks, et la communication client-serveur sécurisée utilisant le chiffrement authentifié. Le nœud peut être déployé en tant qu'image de conteneur avec un support pour la persistance des données de cache.
MimbleWimble upgrades stored data entries to the latest protocol version during startup for backward compatibility.
electron-store est une couche de persistance et une solution de stockage clé-valeur pour les applications Electron. Il gère les préférences utilisateur et l'état de l'application en enregistrant et en récupérant des données structurées sous forme de fichiers JSON sur le système de fichiers local. La bibliothèque inclut des capacités pour obscurcir les fichiers de configuration afin d'empêcher la modification manuelle des données enregistrées. Elle fournit également un système pour la migration automatique de la structure des données lorsque la version de l'application est incrémentée et prend en charge des pipelines de sérialisation personnalisés pour remplacer l'analyse JSON standard. Le projet couvre une large surface de gestion d'état, y compris la validation de schéma pour empêcher la corruption des données, le suivi des changements basé sur les observateurs pour la synchronisation, et la définition de paramètres par défaut de secours. Il inclut également des utilitaires pour gérer les éléments de stockage individuels et ouvrir les fichiers de stockage bruts dans des éditeurs système externes.
Automatically updates persisted state structures to match newer application versions via transformation functions.
MongoEngine est un mapper objet-document (ODM) Python qui traduit les enregistrements de base de données en objets pour fournir une interface orientée objet pour la persistance des données. Il sert de gestionnaire de documents et de validateur de schéma pour MongoDB, mappant les classes aux documents pour appliquer les types de données et les règles de validation. Le projet fournit un système de queryset à chargement différé (lazy-loaded) pour filtrer, trier et agréger des collections en utilisant une syntaxe Pythonique. Il gère des structures de données complexes via des fonctionnalités telles que l'héritage de documents, la gestion récursive de documents imbriqués et la liaison d'objets basée sur des références. La bibliothèque couvre de larges capacités, notamment la migration de schéma, la recherche plein texte et la gestion de fichiers binaires volumineux via le système de fichiers GridFS. Elle inclut également des outils pour l'optimisation des index de base de données, le profilage des performances des requêtes et des hooks de cycle de vie basés sur des signaux pour automatiser la logique lors des événements de document.
Updates existing database records to match changes in the object model such as adding new fields.
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
Updates data structures using versioned migrations applied during the deployment process.
CoreStore est une interface Swift typée et un wrapper de persistance pour gérer le stockage de données local et les graphes d'objets en utilisant le framework Core Data. Il fonctionne comme un gestionnaire de persistance atomique qui exécute les mises à jour de données au sein de blocs transactionnels pour garantir que les changements sont soit entièrement enregistrés, soit annulés afin d'éviter la corruption de l'état. Le projet fournit un framework dédié pour effectuer des migrations de schéma séquentielles via des chaînes de versions définies et un système de mapping d'objets typé pour importer des données JSON externes dans des entités persistantes en utilisant des protocoles Swift. Il inclut une couche de liaison de données pour synchroniser les entités persistantes avec les vues SwiftUI via des property wrappers et des composants de lecture. Le système prend également en charge la récupération de données typée avec filtrage et tri structurés, ainsi que des outils d'observation pour surveiller les changements apportés aux objets et aux listes.
Automates the evolution of database structures through sequential version chains while preserving data integrity.
This project is a foundational boilerplate for building software-as-a-service applications using Next.js, TypeScript, and Tailwind CSS. It provides a pre-configured project structure designed to accelerate the launch of a product. The kit integrates a conversational user interface that renders markdown responses from large language models. It includes a secure identity layer for user registration and session persistence across multiple authentication providers, alongside a billing system for managing tiered pricing plans and real-time payment updates. The technical surface covers a type-safe
Persists structured data using a type-safe ORM with automated database migration tools.
Defines database schema structure including tables, columns, indexes, and foreign keys via a fluent builder.
Ce projet est un moteur de migration de schéma de base de données qui fournit une interface en ligne de commande et une bibliothèque pour gérer les changements structurels séquentiels. Il fonctionne comme un utilitaire de contrôle de version pour les schémas de base de données, permettant l'application, l'annulation et la synchronisation des mises à jour incrémentielles entre les environnements de développement et de production. L'outil se distingue par une couche d'abstraction basée sur des pilotes qui prend en charge un large éventail de systèmes de stockage relationnels et non relationnels. Il maintient la cohérence du schéma en utilisant une table de métadonnées dédiée pour suivre les versions et empêcher les mises à jour simultanées. Pour garantir la fiabilité, le moteur inclut des mécanismes de terminaison de processus propre, qui protègent l'intégrité de la base de données lors d'interruptions inattendues, ainsi qu'une fonctionnalité de remplacement manuel de l'état pour résoudre les incohérences après des tentatives de migration échouées. Le logiciel prend en charge une approche modulaire de la gestion de l'infrastructure en permettant aux scripts de migration d'être récupérés à partir de diverses sources locales et distantes. Il facilite les pipelines de déploiement automatisés en organisant les transitions de schéma en paires de scripts ordonnées, garantissant que les structures de base de données restent alignées avec les exigences de l'application tout au long du cycle de vie du projet.
Organizes schema changes into ordered pairs of up and down scripts to ensure predictable and reversible database state transitions.