تحديث نواة Drupal باستخدام Composer

تعلّم Drupalمسرد Drupal

تفترض هذه المقالة أنكم ثبّتم Drupal باستخدام مشروع composer مثل drupal/core-recommended أو drupal/dxpr-marketing-cms-project

سرد تحديثات Drupal المتاحة

composer outdated "drupal/*"

إذا لم يظهر سطر يبدأ بـ drupal/core، فهذا يعني أن Composer لا يعرف أي تحديث. أما إذا وُجد تحديث، فتابعوا مع الأوامر التالية

إنشاء نسخة احتياطية من نسخة Drupal لديكم

عند تحديث موقع إنتاجي، احرصوا دائمًا على إنشاء نسخة احتياطية قبل التحديث، حتى لو جرّبتم التحديث بنجاح على بيئة تطوير أو اختبار. استخدموا أدوات مزود الاستضافة لإنشاء نسخة احتياطية أو لقطة لموقع Drupal.

تحديث شيفرة نواة Drupal

إذا كنتم تستخدمون drupal/core-recommended:

composer update "drupal/core-*" --with-all-dependencies

لمحاكاة التحديث، وعرض ما سيحدث دون تغيير أي شيء فعليًا، أضيفوا --dry-run.

التحديث إلى أحدث إصدار فرعي من النواة

إذا أردتم تحديث موقعكم إلى أحدث إصدار فرعي، دون أحدث إصدار ثانوي، فأضيفوا خيارات --with= لكل تبعية من تبعيات drupal/core-* المذكورة في composer.json.

فمثلًا، إذا كان 10.2 هو الإصدار الثانوي الحالي وأردتم تحديث موقعكم إلى أحدث إصدار فرعي من 10.3:

composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~10.3.0 --with=drupal/core-composer-scaffold:~10.3.0

يفترض هذا المثال أن  drupal/core-recommended و drupal/core-composer-scaffold هما تبعيّتا نواة Drupal الوحيدتان في composer.json.

التحديث إلى إصدار معين من النواة

بشكل عام، نوصي بعدم تحديد إصدار معين من نواة Drupal عند التحديث، إلا إذا كنتم تعرفون أنكم تريدون التثبيت على إصدار معين. أما إذا أردتم تثبيت موقعكم على إصدار معين، فيمكنكم استخدام المثال التالي: 

لتثبيت موقعكم على الإصدار 10.3.6 وتحديث كل التبعيات وفقًا لذلك: 

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

تحذير: إذا ثبّتم موقعكم على إصدار معين من النواة، فسيُضاف هذا الإصدار إلى ملف القفل، ولن تتجاوزه التحديثات المستقبلية. أعيدوا تشغيل أمر require المذكور أدناه للعودة إلى إصدار غير مثبّت من النواة.

إلغاء تثبيت إصدار معين من النواة

إذا كنتم تعملون على إصدار مثبّت من نواة Drupal، وأردتم تحديث موقعكم إلى إصدار آخر، فلديكم خياران.

  1. يمكنكم تشغيل أمر composer require أعلاه لتحديد إصدار مثبّت جديد من النواة. 
  2. يمكنكم إلغاء تثبيت إصدار النواة، والتحديث إلى أحدث إصدار من Drupal.

لإلغاء تثبيت إصدار Drupal لديكم، نفّذوا هذا الأمر: 

composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies

تشغيل تحديثات قاعدة البيانات

لسهولة الأمر أرفقنا أوامر Drush اللازمة لإتمام التحديث، فكثير من الناس يجدون Drush أسرع وأسهل من منطقة الإدارة على الويب.

يمكنكم استخدام drush بإحدى الطريقتين:

drush updatedb
drush cache:rebuild

أو يمكنكم زيارة [YOUR DOMAIN]/update.php في المتصفح.