عن المشروع

SQLite Loom هي طبقة SQLite تفاعلية مبنية فوق sqflite_common لتطبيقات Dart و Flutter. وهي توفر واجهة ذات أنواع محددة لعمليات قاعدة البيانات دون الحاجة إلى توليد الكود، أو التعليقات التوضيحية، أو أدوات تشغيل البناء (build runners). تشمل القدرات الرئيسية ما يلي: - الجداول والاستعلامات ذات الأنواع المحددة: تدعم القيم المحددة الأنواع للأعمدة والاستعلامات غير القابلة للتغيير لتركيب عوامل التصفية والترتيب والتقسيم الصفحي. - القراءات التفاعلية: توفر تدفقات مباشرة (live streams) لمراقبة القوائم، والعد، ووجود البيانات، مع إبطال مفعول البيانات المدرك للمعاملات. - الكتابة الآمنة: تنفذ عمليات كتابة محمية حيث تفشل التحديثات والحذف غير المصفاة ما لم يتم طلبها صراحةً عبر allRows(). - عمليات ترحيل صريحة: تتضمن نظام ترحيل (migration) يمكن إدارته عبر واجهة سطر أوامر (CLI) متوفرة أو برمجياً عند بدء التشغيل. - إدارة العلاقات: تدعم واصفات صريحة لعلاقات واحد-إلى-واحد، وواحد-إلى-متعدد، ومتعدد-إلى-واحد، بما في ذلك التحميل المجمع لمنع أنماط استعلام N+1. - دعم SQLite المتقدم: تتكامل مع ميزات SQLite مثل وضع WAL، والمفاتيح الخارجية، وجمل RETURNING، والجداول الصارمة (strict tables). - التشخيصات: تتضمن DbObserver لمراقبة مدد الاستعلامات وأعداد النتائج، بالإضافة إلى أدوات لفحوصات السلامة وعمليات vacuuming.