6 Repos
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 6 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 ist eine Tagging-Bibliothek für relationale Datenbanken in Ruby on Rails-Anwendungen. Sie bietet ein System zur Verknüpfung benutzerdefinierter Labels mit Datenbankdatensätzen, um Inhalte zu kategorisieren und zu filtern. Die Bibliothek bietet ein kontextbezogenes Tagging-Framework, das es ermöglicht, einen einzelnen Datensatz mit verschiedenen Label-Sets für unterschiedliche Zwecke zu versehen. Zudem enthält sie ein Multi-Tenant-Tagging-System, das Labels auf bestimmte Accounts oder Gruppen beschränkt, um den Datenschutz zu gewährleisten. Das Tool unterstützt das tag-basierte Abrufen von Datensätzen, die Suche über exakte Übereinstimmungen oder Ausschlüsse sowie die Berechnung der Tag-Häufigkeit über Sammlungen hinweg. Darüber hinaus ermöglicht es die Entdeckung verwandter Objekte basierend auf gemeinsamen Labels und verfolgt die Tag-Besitzverhältnisse, um zwischen globalen und benutzerspezifischen Labels zu unterscheiden.
Uses a shared join table with type and ID columns to link tags to any database model.
Twill ist ein Laravel-CMS-Toolkit und Admin-Panel-Generator, der für den Bau benutzerdefinierter administrativer Konsolen und Content-Management-Systeme entwickelt wurde. Es dient als Headless-CMS-Framework und als Toolkit zur Definition von Inhaltsmodellen und zur Verwaltung strukturierter Daten über eine dedizierte administrative Schnittstelle. Das Projekt bietet einen visuellen Block-Editor, der es Redakteuren ermöglicht, wiederverwendbare Inhaltsabschnitte über eine Drag-and-Drop-Schnittstelle anzuordnen und zu konfigurieren. Es enthält einen dedizierten Digital-Asset-Manager zum Speichern, Zuschneiden und Optimieren von Bildern und Dateien über lokalen oder Cloud-Speicher hinweg sowie einen mehrsprachigen Inhaltsmanager für die Handhabung übersetzter Felder und lokalisierter Permalinks. Die Plattform bietet umfassende Funktionen für die Inhalts- und Medienverwaltung, einschließlich Versionsverfolgung, Veröffentlichungsplanung und hierarchischer Seitenorganisation. Sie deckt umfangreiche administrative Tools ab, wie z. B. rollenbasierte Zugriffskontrolle, globale Suche und Befehlszeilen-Scaffolding für die schnelle Generierung von CRUD-Modulen und Datenbankmigrationen. Das System integriert sich in Laravel-Modelle unter Verwendung von Traits, um Veröffentlichungs- und Medienhandhabung zu ermöglichen.
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.