5 dépôts
Tools for synchronizing application model state with database records.
Distinguishing note: Distinct from existing database management: focuses on the synchronization of object state to persistent storage.
Explore 5 awesome GitHub repositories matching data & databases · Model Persistence. Refine with filters or upvote what's useful.
This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au
Saves the state of identified records directly to the database by synchronizing fields with table rows.
Mantle is a framework for mapping raw data structures and JSON into typed model objects for Cocoa and Cocoa Touch applications. It serves as a data serialization engine and JSON data mapper that transforms dictionaries and arrays into structured model objects. The framework distinguishes itself through an Objective-C persistence layer that manages model disk archiving via keyed archivers. It includes specialized logic for model version management, allowing outdated archived data structures to be upgraded to match current schemas during deserialization. The project covers a broad range of dat
Saves model objects to persistent storage using keyed archivers for later retrieval.
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
Saves and loads diagram state as JSON-formatted text for persistence and restoration.
Bun est un ORM (Object Relational Mapper) typé pour Go qui privilégie la construction de requêtes SQL-first et le mappage des résultats. Il fonctionne comme un constructeur de requêtes SQL programmable, un gestionnaire de connexion de base de données et un outil pour mapper les tables de base de données aux structs Go. Le projet se distingue par un système de prise en charge SQL multi-dialecte, permettant à une seule base de code d'interagir avec différents moteurs de base de données via une interface cohérente. Il inclut un outil d'observabilité de base de données intégré pour l'interception de requêtes, le traçage distribué et la journalisation, ainsi qu'un outil de migration de schéma pour le versioning des changements structurels. La bibliothèque couvre un large éventail d'opérations de données, incluant le traitement par lots, les upserts, les suppressions logiques (soft deletes) et la gestion des données relationnelles telles que les associations polymorphes. Elle fournit des capacités pour l'analyse SQL avancée en utilisant des expressions de table communes (CTE) et des fonctions de fenêtre, parallèlement à la gestion des transactions atomiques et au pooling de connexions. La gestion des schémas est prise en charge via une interface en ligne de commande pour appliquer des scripts de migration versionnés.
Updates specific fields on a model immediately before it is inserted or updated in the database.
Ce projet est une boîte à outils de base de données pour Go qui fournit un mappage schéma-vers-objet, une construction de requête fluide et une génération de code automatisée. Il fonctionne comme un framework pour l'accès aux bases de données typé, permettant aux développeurs d'interagir avec des bases de données relationnelles en générant des modèles et des interfaces directement à partir des schémas de base de données existants. La boîte à outils se distingue par un flux de travail qui analyse les fichiers SQL écrits à la main pour générer des fonctions typées, permettant l'intégration de SQL personnalisé tout en maintenant un mappage de résultats cohérent. Elle prend en charge la personnalisation modulaire via une architecture basée sur des plugins et utilise des métadonnées basées sur des commentaires SQL pour contrôler la structure du code généré. De plus, elle simplifie le développement en générant automatiquement des usines de données de test pour rationaliser la configuration des tests unitaires et d'intégration. Au-delà de la génération de base, la boîte à outils fournit une suite complète pour gérer le cycle de vie complet des interactions avec la base de données. Cela inclut la construction de requêtes fluides à travers plusieurs dialectes, l'assainissement automatisé des paramètres pour prévenir l'injection SQL, et le mappage relationnel qui transforme les résultats de requête plats en structures d'objets imbriquées. Elle dispose également de hooks de cycle de vie pour exécuter une logique personnalisée pendant les opérations de base de données et prend en charge l'intégration incrémentale, permettant une adoption partielle sans nécessiter une migration complète du système.
Inserts generated model instances into the database while automatically handling required relationships to ensure data integrity.