Skip to main content

إرشادات عامة

احرص دائمًا على إنشاء نسخة احتياطية لقاعدة البيانات قبل بدء عملية الترقية عن طريق تشغيل:
لاستعادة النسخة الاحتياطية:
إذا كنت تستخدم Docker Compose، اتبع الخطوات التالية:
  1. أوقف Twenty: docker compose down
  2. غيّر قيمة TAG في ملف .env الموجود بجانب ملف docker-compose.yml
  3. ابدأ تشغيل Twenty: docker compose up -d
يقوم الخادم بتشغيل جميع عمليات ترحيل الترقية المطلوبة تلقائيًا عند بدء التشغيل. لا حاجة إلى أي أمر يدوي.

الترقيات عبر الإصدارات (v1.23+)

بدءًا من v1.23، يدعم Twenty الترقيات عبر الإصدارات. يمكنك الانتقال مباشرةً من أي إصدار مدعوم إلى أحدث إصدار دون المرور بكل إصدار وسيط. على سبيل المثال، الترقية من v1.23 مباشرةً إلى v2.0 مدعومة بالكامل.

الترقية إلى v2.5+ — غلاف التشفير للبيانات الساكنة (at-rest)

بدءًا من v2.5، يقوم Twenty بتخزين الأسرار أثناء السكون (at-rest) — مثل رموز OAuth، ومتغيرات التطبيق، ومفاتيح التوقيع الخاصة، وقيم الإعدادات الحساسة، وأسرار TOTP — داخل غلاف ذي إصدار enc:v2: ومشفّر باستخدام ENCRYPTION_KEY (أو APP_SECRET إذا لم يتم تعيين ENCRYPTION_KEY). أول إقلاع على v2.5 يشغّل أوامر ترقية بطيئة تقوم بإجراء ملء رجعي للصفوف الموجودة داخل الغلاف الجديد. هذه الأوامر عديمة الأثر عند التكرار (idempotent) — إيقاف الخادم وإعادة تشغيله يستأنف من حيث توقّف — لكنها قد تستغرق بعض الوقت على قواعد البيانات الكبيرة. يمكنك متابعة التقدّم باستخدام upgrade:status. يجب تعيين ENCRYPTION_KEY مخصص قبل الترقية إلى v2.5 لكي يكتب الملء الرجعي الصفوف باستخدامه منذ البداية. يتطلّب تبديل المفاتيح بعد الملء الرجعي إجراء تدوير.

تدوير الأسرار ومفاتيح التوقيع

لمهام التشغيل اليومية مثل تدوير ENCRYPTION_KEY، أو تدوير مفتاح توقيع JWT، أو إبطال مفتاح توقيع تم تسريبه، راجع دليل تدوير المفاتيح (Key rotation guide).

التحقق من حالة الترقية

يتيح لك الأمر upgrade:status فحص الحالة الحالية لمثيلك وعمليات ترحيل مساحات العمل. يكون مفيدًا لاستكشاف مشكلات الترقية وإصلاحها أو عند تقديم طلب دعم. قم بتشغيله من حاوية الخادم:
مثال على المخرجات:

خيارات

استكشاف الأخطاء وإصلاحها

إذا فشلت الترقية في بعض مساحات العمل، فلن يتجاوز الخادم الخطوة الفاشلة. إعادة تشغيل الخادم (docker compose up -d) ستعيد محاولة الترقية من حيث توقفت. لتحديد المشكلات بسرعة، قم بتشغيل:
يعرض هذا فقط مساحات العمل المتأخرة أو التي فشلت، مع رسالة الخطأ لكل حالة فشل.

قبل v1.23

إذا كان مثيلك أقدم من v1.23، فيجب عليك الترقية تدريجيًا عبر كل إصدار رئيسي موسوم (من v1.6 إلى v1.7، ثم من v1.7 إلى v1.8، وهكذا) حتى تصل إلى v1.23. ومن هناك، يمكنك الانتقال مباشرةً إلى أحدث إصدار.