كيفية استخدام ملحقات SQLite المخصصة في Capacitor
يعمل SQLite القياسي لمعظم المهام. ولكن في بعض الأحيان، قد تحتاج إلى المزيد.
قد تحتاج إلى محلل رموز (tokenizer) مخصص للغات معينة، أو ربما تحتاج إلى دوال رياضية مخصصة أو معالجة نصوص خاصة. تُسمى هذه الملحقات "الملحقات القابلة للتحميل" (loadable extensions).
تدعم إضافة Capacitor SQLite هذه الملحقات على نظامي Android و iOS.
لماذا تستخدم الملحقات؟
- محللات FTS5 مخصصة: للتحكم في كيفية تقسيم النص لعمليات البحث.
- دوال SQL مخصصة: لتشغيل منطق معقد بالقرب من بياناتك.
يختلف التنفيذ حسب المنصة.
Android
لا يدعم SQLite الخاص بنظام Android تحميل الملحقات مباشرةً. يجب عليك استخدام backend الخاص بـ requery.
- قم بتفعيل خيار
requeryفي ملفvariables.gradle. - أضف مستودع JitPack إلى ملف
build.gradle. - قم بتجميع كود C الخاص بك إلى مكتبات أصلية (ملفات
.so) لكل بنية CPU. - ضع هذه الملفات في مجلد
jniLibs. - استخدم خيار
androidExtensionsعند فتح قاعدة البيانات.
iOS
لا يمكن لتطبيقات iOS تحميل المكتبات الديناميكية أثناء وقت التشغيل. يجب عليك ربط الملحق الخاص بك بشكل ثابت (statically).
- أضف ملف مصدر C الخاص بك إلى مشروع Xcode.
- قم بتعيين علم المترجم
-DSQLITE_COREلهذا الملف. - قم بالإعلان عن دالة
initفي ملف الـ bridging header الخاص بك. - قم بتسجيل الملحق في
AppDelegateباستخدامsqlite3_auto_extension.
يظل كود C الخاص بالملحق كما هو، وتتغير فقط خطوات البناء والتسجيل.
بمجرد تحميله، سيعمل الملحق المخصص تماماً مثل ميزات SQLite المدمجة. يمكنك استخدام محلل الرموز أو الدالة الجديدة في جمل SQL الخاصة بك على الفور.
تمنحك الملحقات المخصصة قوة الكود الأصلي (native code) داخل قاعدة بيانات الهاتف المحمول الخاصة بك.
المصدر: https://dev.to/capawesome/how-to-use-custom-sqlite-extensions-in-capacitor-l5k