عن المشروع
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 للوحات تحكم إدارية احترافية.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.