7 repositorios
Mechanisms for mapping a single entity to multiple target types through a shared association interface within an ORM.
Distinguishing note: None of the candidates were provided; this is a specific data modeling pattern for ORMs.
Explore 7 awesome GitHub repositories matching data & databases · Polymorphic Associations. Refine with filters or upvote what's useful.
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 enables polymorphic associations, allowing a single entity to belong to more than one other type of entity using a shared interface.
SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a
Associates multiple parent types with a single child object using polymorphic discriminators or flexible foreign key patterns.
PaperTrail is a Ruby on Rails versioning library and database audit trail system. It tracks changes to database models by capturing historical snapshots of object states and associating every modification with the specific user or process responsible for the update. The project provides a model state reification tool to reconstruct model instances as they existed at a specific point in time and a data recovery framework to restore deleted database records by reifying their last known version. The system covers a broad range of capabilities including version history navigation, changeset-base
Uses polymorphic associations to link a single versions table to multiple different model types.
Acts-as-taggable-on es una librería de etiquetado para bases de datos relacionales en aplicaciones Ruby on Rails. Proporciona un sistema para asociar etiquetas personalizadas con registros de la base de datos, permitiendo la categorización y el filtrado de contenido. La librería cuenta con un framework de etiquetado contextual que permite que un mismo registro mantenga diferentes conjuntos de etiquetas para distintos propósitos. También incluye un sistema de etiquetado multi-inquilino que limita las etiquetas a cuentas o grupos específicos para garantizar la privacidad de los datos. La herramienta admite la recuperación de registros basada en etiquetas, búsquedas mediante coincidencias exactas o exclusiones, y el cálculo de la frecuencia de etiquetas en colecciones. Además, permite el descubrimiento de objetos relacionados basados en etiquetas compartidas y rastrea la propiedad de las etiquetas para distinguir entre etiquetas globales y específicas del usuario.
Uses a shared join table with type and ID columns to link tags to any database model.
Twill es un kit de herramientas CMS de Laravel y generador de paneles de administración diseñado para construir consolas administrativas personalizadas y sistemas de gestión de contenido. Sirve como un framework de CMS headless y un kit de herramientas para definir modelos de contenido y gestionar datos estructurados a través de una interfaz administrativa dedicada. El proyecto cuenta con un editor de bloques visual que permite a los editores organizar y configurar secciones de contenido reutilizables mediante una interfaz de arrastrar y soltar. Incluye un gestor de activos digitales dedicado para almacenar, recortar y optimizar imágenes y archivos en almacenamiento local o en la nube, así como un gestor de contenido multilingüe para manejar campos traducidos y enlaces permanentes localizados. La plataforma proporciona amplias capacidades para la gestión de contenido y medios, incluyendo seguimiento de versiones, programación de publicaciones y organización jerárquica de páginas. Cubre herramientas administrativas extensas como control de acceso basado en roles, búsqueda global y scaffolding de línea de comandos para la generación rápida de módulos CRUD y migraciones de bases de datos. El sistema se integra con modelos de Laravel utilizando traits para habilitar la publicación y el manejo de medios.
Uses polymorphic associations to link media assets across multiple different content types.
Audited is a Ruby on Rails audit log library and change data capture framework. It tracks model changes by recording previous and current attribute values during create, update, and destroy operations to maintain a complete history of database modifications. The system functions as a database versioning tool and user activity tracker. It allows for the retrieval of historical record states by timestamp or index, enables reverting models to previous versions, and associates record modifications with specific user identities and remote IP addresses. The library includes capabilities for sensit
Uses polymorphic associations to link a single audit table to any model within the system.
This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through
Supports polymorphic associations that allow a single model to link to multiple target types using type and ID keys.