مشكلة undb في 2025–2026
مشروع مفتوح المصدر لا يُحكم عليه بالفشل لمجرد تباطئه. بعض المشاريع تصل إلى نضج مستقر ولا تحتاج إلى تغيير كبير. undb لا ينتمي إلى هذه الفئة: أداة حديثة في مجال يتطور بسرعة، بتبعيات JavaScript قصيرة الأمد.
مؤشرات الخطر التي تراكمت أواخر 2025 محددة. آخر إصدار منشور كان منذ أكثر من ستين يوماً مع نهاية السنة. عدد المشكلات المفتوحة دون تعليق من مشرف تجاوز الثلاثين. كثير منها يُبلّغ عن تراجعات في ميزات أساسية — صيغ، طرق عرض مرشحة، استيراد CSV — دون أي تأكيد للمعالجة. آخر تحديث لتبعيات npm كان منذ أشهر، ما يُبقي ثغرات CVE معروفة غير مُعالجة.
المشكلة ليست تقنية فحسب. أداة قاعدة البيانات تحتضن بيانات تشغيلية. حين تضعف الصيانة، السؤال لا يصبح «هل تعمل اليوم» بل «هل ستعمل بعد ستة أشهر، وهل ستظل بياناتي متاحة».
لماذا الترحيل الآن وليس بعد ستة أشهر
- مخاطر أمنية نشطة: تبعيات npm غير محدّثة تراكم ثغرات CVE معروفة؛ نظام undb مكشوف على الإنترنت بدون وكيل عكسي محصّن يمثل سطح هجوم متزايداً.
- أخطاء في الإنتاج دون إصلاح: التراجعات في استيراد CSV والصيغ المُبلَّغ عنها أواخر 2025 لا تجد حلاً؛ إن كان استخدامك يلمس هذه الميزات، الوضع يزداد سوءاً.
- تبعيات مجمّدة: Node.js LTS يتقدم، صور Docker الأساسية تتغير؛ مشروع بدون صيانة يفشل في البناء في نهاية المطاف، ما يحجب تحديثات أمان الخادم المضيف.
- المجتمع يتحوّل: النقاشات في منتديات الاستضافة الذاتية (Reddit r/selfhosted، awesome-selfhosted) تُظهر توجهاً واضحاً نحو Teable وNocoDB وGrist؛ البقاء على undb يعني عزلك عن الدعم النشط والتكاملات المجتمعية.
- بيانات مهجورة: كلما طال الانتظار، ارتفع احتمال تغيير بنية داخلية غير موثق؛ التصدير الآن، حين تكون تنسيقات الإخراج معروفة ومستقرة، أأمن من انتظار تعارض مستقبلي.
- نافذة ترحيل نظيفة: بياناتك طازجة ومتسقة الآن؛ الترحيل المُكره — لأن النظام يفشل في الإقلاع بعد تحديث Docker — يجري دائماً في ظروف أسوأ.
Teable: قاعدة بيانات NoCode بـRust ذات صيانة نشطة
يُقدّم Teable نفسه بديلاً لـAirtable في الاستضافة الذاتية، لكن موقعه التقني أدق. الخلفية مكتوبة بـRust مع NestJS لطبقة API، والواجهة تطبيق React. هذا يُنتج خدمة خلفية تستهلك نحو 150–200 ميغابايت ذاكرة عند الخمول، مقارنةً بـ400–600 ميغابايت لـundb على نظير مماثل.
واجهة REST API موثقة ومصممة لتكون متوافقة مع أنماط Airtable: نفس المفاهيم الأساسية (جداول، طرق عرض، حقول، سجلات)، نفس أفعال HTTP، بنيات JSON مشابهة. إن كان لديك نصوص برمجية تستعلم undb عبر API، تكييفها لـTeable يقتصر على تعديل بعض المسارات وأسماء الحقول.
رخصة AGPL-3.0 تقيّد إعادة توزيع نسخ Teable المعدّلة، لكنها لا تفرض أي قيود على الاستخدام الداخلي أو نشر Teable لعملائك على بنيتك التحتية.
إيقاع الإصدارات هو الجانب الأهم لأداة في بيئة إنتاجية: إصدارات أسبوعية إلى نصف شهرية مع سجلات تغييرات مفصّلة، معالجة الأخطاء الحرجة خلال 72 ساعة، وخارطة طريق عامة مُحدَّثة.
undb مقابل Teable: مقارنة تقنية
مرّر الجدول أفقيًا
| المعيار | undb | Teable |
|---|---|---|
| لغة الخلفية | TypeScript (Node.js) | Rust + NestJS |
| الرخصة | AGPL-3.0 | AGPL-3.0 |
| الذاكرة عند الخمول (Docker) | ~400–600 ميغابايت | ~150–200 ميغابايت |
| واجهة API متوافقة مع Airtable | جزئية، غير موثقة | نعم، موثقة |
| استيراد CSV/JSON | نعم (تراجعات مُبلَّغ عنها أواخر 2025) | نعم، مستقر |
| نجوم GitHub (خريف 2026) | ~3,500 | ~12,000+ |
| نشاط الصيانة | متوقف (>60 يوماً بدون إصدار، أواخر 2025) | نشط (إصدارات أسبوعية) |
التحضير للترحيل: التصدير من undb
قبل تثبيت أي شيء، صدِّر بيانات undb من نظام لا يزال يعمل. لا تؤجل هذا إلى ما بعد تثبيت Teable: إن حدث أي خطأ بين الخطوتين، تريد بياناتك في متناول يدك.
تصدير بياناتك من undb
الوصول إلى واجهة التصدير
في undb، افتح كل جدول تريد ترحيله. قائمة السياق للجدول (أيقونة «…» أو النقر بالزر الأيمن على التبويب) تعرض خيار «Export». يوفر undb تنسيقين: CSV وJSON. اختر JSON للجداول التي تحتوي على حقول علاقات أو صيغ — CSV يُسطّح العلاقات إلى سلاسل نصية مما يُعقّد إعادة التعيين. للجداول البسيطة (بدون علاقات)، CSV كافٍ.
التصدير جدولاً بجدول
لا يوفر undb تصديراً شاملاً لقاعدة البيانات في هذا الإصدار. يجب تصدير كل جدول على حدة. نظّم ملفاتك في مجلد باسم قاعدة البيانات: مثلاً
export-undb-crm/. لاحظ ترتيب الاستيراد لاحقاً: يجب استيراد الجداول التي تُشير إليها جداول أخرى إلى Teable أولاً.التحقق من سلامة التصديرات
لكل ملف JSON مُصدَّر، تحقق من عدم اقتطاعه: افتحه في محرر نصوص أو نفّذ
python3 -m json.tool my-export.json > /dev/null— غياب الأخطاء يعني JSON صحيح. لملفات CSV، عُدّ الأسطر بـwc -l export.csvوقارن بعدد السجلات الظاهر في undb.الاحتفاظ بنسخة أرشيفية
قبل المتابعة، أرشف كل شيء:
tar czf undb-export-$(date +%Y%m%d).tar.gz export-undb-*/. احتفظ بهذا الأرشيف ثلاثين يوماً بعد الترحيل. إن ظهر تعارض في البيانات بعد أسبوعين من الاستيراد، التصدير الأصلي هو مرجعك الوحيد.
تثبيت Teable على خادم ServOrbit VPS
تعرض ServOrbit قالب Teable في متجرها على /marketplace/bases-de-donnees/teable. يُهيئ القالب تلقائياً Docker Compose ومتغيرات البيئة والوكيل العكسي. للتثبيت اليدوي الكامل على Debian 12 أو Ubuntu 22.04، اتبع الخطوات أدناه.
تثبيت Teable عبر Docker Compose
إنشاء مجلد العمل
اتصل بالخادم عبر SSH. أنشئ مجلداً مخصصاً وانتقل إليه:
mkdir -p /opt/teable && cd /opt/teableحمّل ملف Compose الرسمي:
curl -O https://raw.githubusercontent.com/teableio/teable/main/dockers/docker-compose.ymlضبط متغيرات البيئة
أنشئ ملف
.envفي/opt/teable/. المتغيرات الدنيا المطلوبة:POSTGRES_PASSWORD=كلمة-مرور-قوية TEABLE_SECRET_KEY=سلسلة-عشوائية-32-حرفاً PUBLIC_ORIGIN=https://teable.نطاقك.tldأنشئ المفتاح السري بـ
openssl rand -hex 16. لا تُعد استخدام كلمة مرور PostgreSQL من نظام آخر.تشغيل الخدمات
أطلق الحزمة في الخلفية:
docker compose up -dانتظر ثلاثين ثانية، ثم تحقق أن الحاويات بحالة
healthy:docker compose psضبط الوكيل العكسي
يستمع Teable على المنفذ 3000 افتراضياً. هيّئ وكيلك العكسي (nginx أو Caddy) لتوجيه حركة HTTPS إلى
localhost:3000. مثال nginx مبسط:server { listen 443 ssl; server_name teable.نطاقك.tld; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }الوصول الأول وإنشاء حساب المدير
افتح
https://teable.نطاقك.tldفي المتصفح. عند أول تسجيل دخول، يطلب Teable إنشاء حساب مدير. هذا الحساب محلي لنظامك — لا تسجيل خارجي. اختر كلمة مرور قوية واحفظها في مدير الأسرار.إنشاء مساحة عمل
بعد تسجيل الدخول، أنشئ مساحة عمل (ما يعادل المؤسسة في Airtable) لاحتضان القواعد المرحّلة من undb. أعطها اسماً واضحاً مثل «ترحيل undb» للتمييز بين البيانات المستوردة والقواعد الجديدة.
استيراد بيانات undb إلى Teable
يوفر Teable مساري استيراد: CSV للجداول البسيطة، وJSON المنظم للجداول ذات أنواع الحقول المعقدة. واجهة الاستيراد متاحة من قائمة «+» في مساحة العمل.
استيراد البيانات والتحقق منها
إنشاء قاعدة الهدف في Teable
في مساحة العمل، انقر «قاعدة جديدة» وأعطها نفس اسم قاعدة البيانات الأصلية في undb. هذا الاتساق في التسمية يُسهّل التحقق المتقاطع أثناء الترحيل.
استيراد الجداول من CSV أو JSON
داخل قاعدة الهدف، انقر «+ إضافة جدول» ثم «استيراد من ملف». حدد ملف التصدير CSV أو JSON. لـCSV، يكتشف Teable أنواع الأعمدة تلقائياً — تحقق أن أعمدة التاريخ مُفسَّرة كـDate لا كـText.
استورد أولاً الجداول بدون علاقات، ثم التي تُشير إليها.
تعيين وضبط أنواع الحقول
بعد الاستيراد، راجع كل عمود في Teable وتحقق من نوعه. المشاكل الشائعة عند الترحيل من undb:
- حقول formula في undb تصل كقيم محسوبة مجمّدة — أعد بناء الصيغ في Teable يدوياً.
- حقول attachment لا تُرحَّل عبر CSV؛ إن كانت undb تخزن ملفات، تعامل معها بشكل منفصل.
- حقول المنطق الثنائي المُصدَّرة كسلسلةtrue/falseتحتاج تحويلاً إلى نوع Checkbox في Teable.التحقق من العلاقات وسلامة البيانات
إن كانت جداولك في undb تحتوي علاقات، تصل مُسطَّحة في تصدير CSV. أعد بناء حقول الربط في Teable بعد استيراد كل الجداول، ثم استخدم طريقة عرض التصفية للتحقق أن عدد السجلات يتطابق مع الأصل.
اختبر على قاعدة غير حرجة أولاً
قبل ترحيل بيانات الإنتاج، طبّق الإجراء الكامل على قاعدة ثانوية — بيانات اختبار، مشروع مؤرشف، أو نسخة مجهولة الهوية. هذا يكشف مشاكل تعيين أنواع الحقول والحالات الحدية دون المساس بسلامة البيانات التشغيلية.
احتفظ بأرشيف تصدير undb ثلاثين يوماً على الأقل بعد الترحيل. إن ظهر تعارض في البيانات بعد أسبوعين من الاستيراد، التصدير الأصلي هو مرجعك الوحيد. بعد مرور هذه المدة والتحقق الكامل من الترحيل، يمكنك إيقاف نظام undb بثقة.