توثيق Nibleaf

ترحيل إصدار الإمكانات المجمع والتراجع عنه

طبّق ترحيلات البحث والاستخدام والإضافات والتكاملات وMCP بترتيب الاعتماد، وتحقق من حالات التعطل، واعكسها بأمان.

  • 4 دقيقة قراءة
  • آخر تحديث 31‏/08‏/2026

يغطي هذا الدليل مجموعة الإمكانات المدمجة في main حتى التزام MCP ذي المعرّف 9fb787ef438ecee0b65da9c785ab42dd3f2bdc1c. لا يزال بيان الاستضافة الذاتية المنشور يحدد v0.1.2. لا تطبق هذه التعليمات على تثبيت إنتاجي من v0.1.2 حتى يتوفر صورة مطابقة أو بناء مصدر مراجع. الفرع المدمج ليس حاوية منشورة، ولا ينفذ تغيير التوثيق هذا أي نشر.

إنشاء نقطة التعافي

سجل وسم الصورة الحالي وملخصها الرقمي والتزام التطبيق ومراجعة ملف البيئة وحالة ترحيلات قاعدة البيانات. أوقف عمليات الكتابة غير الضرورية، ثم التقط Postgres وتخزين الكائنات من نقطة تعافٍ واحدة. إذا كان ClickHouse مفعّلًا، فالتقط إصدار مخططه وأدلة الاحتفاظ أو التصدير المطلوبة في سياستك. اختبر الاستعادة في بيئة معزولة قبل تغيير الإنتاج.

أبقِ MCP معطّلًا والبحث في وضع shadow أو legacy أثناء تغيير قاعدة البيانات. لا تفعّل التكاملات أو الإضافات أو مستهلكي الاستخدام لمجرد وجود الجداول. تظل صحة المزوّد أو تغطية الاستخدام المجهولة مجهولة؛ فهي ليست صفرًا ولا نجاحًا.

تطبيق الترحيلات بترتيب الاعتماد

ثبّت مراجعة التطبيق الدقيقة وأنشئ عميل Prisma قبل فحص الأنواع أو تشغيل الخدمات. يطبق أمر النشر المعتاد ترحيلات Postgres الإضافية الخمسة بترتيب أسماء الملفات:

  1. 20260823180000_search_configuration_diagnostics
  2. 20260823210000_usage_metering
  3. 20260823220000_project_addons
  4. 20260823230000_add_project_integrations
  5. 20260823240000_mcp_control_plane

يملك ترحيل التكاملات الحقل الاختياري ApiKey.expiresAt بوصفه متطلب مصادقة مشتركًا. يعتمد ترحيل MCP عليه ويجب أن يبقى أخيرًا. لا تنسخ الحقل إلى ترحيل MCP ولا تحذفه ما دام MCP أو مستهلك آخر يعتمد عليه.

bash
pnpm install --frozen-lockfile
pnpm db:generate
pnpm db:deploy
pnpm --filter @nibleaf/database exec prisma migrate status

عند تفعيل التحليلات والاستخدام المدعومين بـClickHouse، طبّق ترحيلاته التقدمية بهويّة مشغّل محدودة المدة بعد تثبيت حزم التطبيق المتوافقة:

bash
pnpm analytics:migrate

يجب أن تعرض واجهة الاستخدام وAPI حالة غير متاحة أو جزئية حتى تكتمل التغطية والتسوية. لا تستنتج اكتمال تعبئة البيانات من نجاح إنشاء الجداول.

التشغيل بتحفظ والتحقق

شغّل عمليات API والتطبيق والعامل مع إبقاء MCP معطّلًا. تحقق من السلامة وتسجيل الدخول وقراءة مشروع واحد وعملية نشر واحدة. ثم تحقق من كل حد قبل تفعيل التالي:

  1. تحدّث إعدادات البحث إعداد المشروع الهدف فقط، وتعرض التشخيصات بيانات وصفية محدودة من دون محتوى أو متجهات. أبقِ الاسترجاع الهجين في الظل حتى تدعم أدلة المشروع واللغة والإصدار قرار التحويل.
  2. تميّز مجاميع الاستخدام بين التغطية المكتملة والجزئية وغير المتاحة؛ وتبقى الاستحقاقات إرشادية ولا يُفعّل أي مزوّد دفع.
  3. تملك المشاريع القائمة صفوف إضافات دائمة وحالة موافقة معروفة محفوظة وسجل تدقيق أوليًا. اختبر القبول والرفض مرة واحدة بعد تسجيل الخروج.
  4. تُشفّر أسرار التكامل وتُفك بالمفتاح المخصص. تحقق من اتصال غير إنتاجي واحد من دون وضع بيانات الاعتماد في السجلات أو لقطات الشاشة.
  5. أنشئ مفتاح MCP جديدًا مرتبطًا بالمشروع ويحمل mcp:connect ونطاق قراءة دقيقًا واحدًا. تحقق من الإمكانات، ثم ألغِ المفتاح وتأكد من توقف الوصول.

شغّل أوامر اختبار الترحيل قبل اعتبار المخطط جاهزًا:

bash
pnpm --filter @nibleaf/database smoke:addons-migration
pnpm --filter @nibleaf/database smoke:integrations-migration
pnpm --filter @nibleaf/database smoke:mcp-migration

للبحث والاستخدام والإضافات والتكاملات وMCP أدلة تشغيل منفصلة. احتفظ بروابطها الواردة في ملاحظات إمكانات المصدر لأغسطس 2026 مع سجل الترقية الدائم.

التراجع بالترتيب العكسي

فضّل التراجع في وقت التشغيل على عكس المخطط بصورة هدامة. عطّل MCP وأوقف عملاءه أولًا. أعد البحث إلى SEARCH_RUNTIME=legacy، وعطّل قراءات ClickHouse الاختيارية، وأوقف الخطط أو الإضافات المتأثرة وعمليات تغيير التكاملات بينما تستعيد صورة التطبيق السابقة.

إذا ظل تراجع المخطط مطلوبًا، فانشر شيفرة لا تقرأ المخطط المتأثر، واحفظ أدلة التدقيق أو التصدير المطلوبة، وأوقف كل الكتّاب، ثم اعكس الاعتمادات بهذا الترتيب:

  1. جداول مستوى تحكم MCP وأعمدة مصدر مفتاح API التي يملكها MCP.
  2. جداول التكاملات وبيانات الاعتماد المشفرة. لا تحذف ApiKey.expiresAt المشترك إلا بعد إزالة MCP والتأكد من عدم حاجة أي مستهلك باقٍ إليه.
  3. حالة الإضافات وسجل التدقيق.
  4. مستهلكو الاستخدام، ثم حالة الاستخدام في Postgres، ثم بنى ClickHouse.
  5. حالة تشخيص البحث. يمكن للتطبيق عادةً إبقاء هذا الجدول الإضافي مع استخدام وقت التشغيل القديم.

لا ينفذ Prisma ملفات rollback.sql في المستودع تلقائيًا. عند نجاح ترحيل، انشر عبارات الرجوع المراجعة بوصفها ترحيلًا تقدميًا جديدًا لاحقًا. لا تستخدم prisma migrate resolve --rolled-back إلا لترحيل فاشل بعد عكس عباراته الجزئية بأمان، ولا تستخدمه لإعادة كتابة تاريخ ترحيل إنتاجي ناجح. اتبع الحدود الهدامة المفصلة في قياس الاستخدام و التكاملات وMCP والإضافات والبحث.

تسجيل القرار

احتفظ بالصورة أو الالتزام الدقيق ومخرجات الترحيل ومفاتيح الإمكانات وصحة المزوّد ونتائج الاختبار ودليل الاستعادة في النظام التشغيلي الخاص. لا تضع بيانات العملاء أو بيانات الاعتماد أو المضيفين الداخليين أو صادرات الاستخدام أو استجابات المزوّد الخاصة في هذا المستودع العام.