عن المشروع

SeaORM هو خرائط كائنات علاقية (ORM) غنية بالميزات ومصممة للغة Rust. يوفر طريقة مفاهيمية عالية المستوى لنمذجة العلاقات المعقدة، بما في ذلك علاقات 1-1 و 1-N و M-N والعلاقات ذاتية المرجع. تشمل القدرات الرئيسية ما يلي: - Smart Entity Loader: يستخدم عمليات الربط (joins) بذكاء لعلاقات 1-1 ومحملات البيانات (data loaders) لعلاقات 1-N للقضاء على مشكلة استعلام N+1. - ActiveModel: يدعم الاستمرارية المتداخلة، مما يسمح بحفظ رسوم بيانية كاملة للكائنات في عملية واحدة. - سير عمل مرن: يدعم كل من سير العمل المعتمد على المخطط أولاً (عبر نظام migration) وسير العمل المعتمد على الكيان أولاً، حيث يتم مزامنة مخطط قاعدة البيانات تلقائياً بناءً على تعريفات الكيانات. - دعم Raw SQL: يتضمن ماكرو `raw_sql!` للاستعلامات المعقدة التي توفر استكمال المعلمات وتوسيع المصفوفات مع منع حقن SQL. - دعم متزامن: من خلال `sea-orm-sync` يمكن استخدام واجهة برمجة التطبيقات بدون وقت تشغيل غير متزامن (async runtime)، وهو أمر مفيد لأدوات CLI خفيفة الوزن. - التكامل: يوفر أمثلة لمختلف أطر عمل الويب في Rust بما في ذلك Actix و Axum و Poem و Rocket و Salvo. بالإضافة إلى ذلك، يتضمن النظام البيئي Seaography لإطلاق واجهات برمجة تطبيقات GraphQL بسرعة و SeaORM Pro للوحات تحكم إدارية احترافية.