14 مستودعات
Mechanisms for executing custom logic automatically before or after specific database operations.
Distinguishing note: Focuses on event-driven lifecycle triggers rather than general CRUD operations.
Explore 14 awesome GitHub repositories matching data & databases · Database Lifecycle Hooks. Refine with filters or upvote what's useful.
GORM is a developer-focused object-relational mapping library for Go that provides a comprehensive data persistence framework. It serves as a database access layer, allowing developers to map application structures to database tables and perform CRUD operations using a fluent, type-safe query builder instead of writing raw SQL. The library distinguishes itself through its association-aware persistence, which automatically tracks and synchronizes complex entity relationships during database operations. It utilizes a driver-agnostic interface to maintain consistent behavior across various stora
GORM allows user defined hooks to be implemented for BeforeSave, BeforeCreate, AfterSave, AfterCreate. These hook method will be called when creating a record, refer Hooks for details on the lifecycle func (u *Us
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Hook into model lifecycle events such as creation, updates, or deletions to execute custom logic before or after database operations.
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
Executes custom logic automatically before or after specific database operations to enable specialized logging or diagnostic workflows.
Vanna is a Python framework designed to build conversational interfaces that translate natural language into executable database queries. It functions as an enterprise-grade toolkit that connects language models to relational databases, allowing users to retrieve information through conversational prompts rather than manual code. The system maintains context across interactions by utilizing vector databases to store historical query patterns and schema metadata. The framework distinguishes itself through a focus on security and schema-aware generation. It incorporates granular access control,
Provides lifecycle hooks to intercept database operations for logging, rate limiting, and security enforcement.
DataX is a distributed data integration framework and plugin-based ETL tool designed for synchronizing large datasets between heterogeneous sources and destinations. It functions as a JDBC data migration engine and offline synchronization tool, enabling the movement of data between relational databases, NoSQL stores, and object storage. The system utilizes a plugin-based connector architecture that decouples reader and writer logic, allowing it to map and transform data types across different storage engines using a standardized internal representation. This design supports heterogeneous data
Provides a bypass import mode that uses a direct path to the database to increase speed via parallel threads and optimized buffers.
This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns
The framework triggers custom logic automatically before or after database operations like insert, update, or delete by invoking methods defined on the data model.
dbt-core is a command-line framework for transforming data within a warehouse using modular SQL and version control. It functions as a data transformation engine that enables users to define data structures and business logic through declarative configuration files, which the system then compiles into executable code. By managing complex data dependencies through a directed acyclic graph, it ensures that transformation tasks execute in the correct order while maintaining a manifest-driven state to track lineage and execution history. The project distinguishes itself through an adapter-based d
Runs custom SQL commands before or after model execution by embedding templated strings that resolve to database operations.
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
Allows custom logic to be injected into the query and persistence pipeline by triggering callbacks during specific database operations.
sqlboiler is a database-first ORM generator for Go that analyzes an existing database schema to produce strongly typed structures and query helpers. It functions as a schema-driven code generator, transforming database tables and relationships into executable Go source code. The project distinguishes itself through a type-safe query builder that uses chainable modifiers to construct SQL statements, eliminating the need for raw string concatenation. It utilizes customizable text templates to generate source code, allowing for the aliasing of schema entities and the creation of custom templates
Allows registration of custom functions that trigger automatically before or after database CRUD operations.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
Triggers custom logic before or after database record operations using registered closures.
Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder, and schema migration capabilities. It maps database tables to Ruby classes with support for associations, validations, lifecycle hooks, and eager loading, offering a comprehensive ORM layer for building data-centric applications. Sequel distinguishes itself through a plugin-based extension architecture that allows composable customization of models, databases, and datasets without relying on deep inheritance hierarchies. It includes a thread-safe connection pool with support f
Skips all lifecycle hooks by performing insert, update, or delete directly on the underlying dataset.
هذا المشروع عبارة عن دليل برمجة أداء شامل ومرجع للغة Go، مع التركيز على كفاءة وقت التشغيل وتحسين الذاكرة. يوفر مجموعة من الأنماط والتقنيات المصممة لزيادة سرعة التنفيذ عن طريق تقليل حمل جمع القمامة (garbage collection) وتحسين استخدام الذاكرة. يتميز المورد بتنفيذات مرجعية مفصلة لتحسين الذاكرة، مثل تحليل الهروب (escape analysis)، وتجميع الكائنات (object pooling)، ومحاذاة ذاكرة الهياكل. ويقدم استراتيجيات محددة لتقليل حجم الملف الثنائي وتحسين كفاءة ذاكرة التخزين المؤقت للمعالج (CPU cache) من خلال تحسين تخطيط ذاكرة الهياكل واستخدام عناصر نائبة خالية من التخصيص. يغطي المشروع نطاقاً واسعاً من قدرات هندسة الواجهة الخلفية، بما في ذلك إدارة التزامن مع مجموعات العمال (worker pools) وبدائيات المزامنة، وRPC عالي الأداء وتوجيه HTTP، واستراتيجيات التخزين المؤقت الموزعة. كما يتضمن توجيهات حول الملاحظة من خلال تحليل أداء المعالج والذاكرة، بالإضافة إلى أنماط ضمان الجودة لاختبار الوحدات الوظيفية وتوليد الكائنات الوهمية (mock objects). يتم تنظيم المحتوى كسلسلة من البرامج التعليمية، والأمثلة المعمارية، وأدلة قياس الأداء لمساعدة المطورين على تحليل وإصلاح اختناقات الأداء.
Provides mechanisms for executing custom logic automatically before or after specific database operations.
Ormar هو نظام تعيين كائني علائقي (ORM) غير متزامن لـ Python يدمج استمرارية قاعدة البيانات مع التحقق من صحة البيانات. يعمل كجسر بين إدارة قاعدة البيانات العلائقية وهياكل بيانات مستوى التطبيق، مما يسمح للمطورين بتعريف مخططات قاعدة البيانات التي تعمل في نفس الوقت كنماذج للتحقق. يتميز المشروع باستخدام فئات التحقق لفرض سلامة المخطط، مما يضمن توافق جميع السجلات المستمرة مع الأنواع والهياكل المحددة. وهو يدعم الارتباطات العلائقية المعقدة، بما في ذلك علاقات واحد إلى متعدد ومتعدد إلى متعدد، ويوفر خطافات دورة حياة قائمة على الأحداث تطلق منطقاً مخصصاً أثناء تغييرات حالة السجل للحفاظ على اتساق البيانات. تغطي المكتبة مجموعة واسعة من قدرات إدارة قواعد البيانات، بما في ذلك تنفيذ الاستعلام غير المحظور وأدوات ترحيل المخطط المؤتمتة. وهي تستخدم منشئ استعلام منخفض المستوى لترجمة طرق الكائنات إلى عمليات قاعدة بيانات منظمة، مع توفير أدوات سطر أوامر لمزامنة إصدارات قاعدة البيانات المادية مع كود التطبيق عبر بيئات مختلفة.
Triggers custom logic automatically before or after database operations to ensure data consistency.
هذا المشروع عبارة عن مجموعة أدوات قاعدة بيانات لـ Go توفر تعيين المخطط إلى الكائن، وبناء الاستعلام بطلاقة، وتوليد الكود المؤتمت. يعمل كإطار عمل للوصول إلى قاعدة البيانات الآمن للأنواع، مما يمكن المطورين من التفاعل مع قواعد البيانات العلائقية عن طريق توليد النماذج والواجهات مباشرة من مخططات قاعدة البيانات الموجودة. تتميز مجموعة الأدوات بسير عمل يحلل ملفات SQL المكتوبة يدوياً لتوليد وظائف آمنة للأنواع، مما يسمح بدمج SQL مخصص مع الحفاظ على تعيين النتائج المتسق. وهي تدعم التخصيص المعياري من خلال بنية قائمة على المكونات الإضافية وتستخدم بيانات تعريف قائمة على تعليقات SQL للتحكم في بنية الكود الذي تم إنشاؤه. بالإضافة إلى ذلك، فهي تبسط التطوير عن طريق توليد مصانع بيانات الاختبار تلقائياً لتبسيط إعداد اختبارات الوحدة والتكامل. بعيداً عن التوليد الأساسي، توفر مجموعة الأدوات مجموعة شاملة لإدارة دورة الحياة الكاملة لتفاعلات قاعدة البيانات. يشمل ذلك بناء الاستعلام بطلاقة عبر لهجات متعددة، وتعقيم المعلمات المؤتمت لمنع حقن SQL، والتعيين العلائقي الذي يحول نتائج الاستعلام المسطحة إلى هياكل كائنات متداخلة. كما يتميز بخطافات دورة الحياة لتنفيذ منطق مخصص أثناء عمليات قاعدة البيانات ويدعم الدمج التدريجي، مما يسمح بالاعتماد الجزئي دون الحاجة إلى ترحيل نظام كامل.
Triggers custom logic automatically before or after database operations to maintain state and business rules.