الرجوع (Rollback) يعني أنه بعد نشر إصدار جديد، إذا ظهر خطأ جدي، تعود إلى الإصدار السابق الذي كان يعمل جيدًا. والهدف أن يتضرر المستخدمون أقل، وأن تفحص المشكلة لاحقًا بهدوء.
مثال#
تحدّث قالب متجرك أو إحدى إضافاته فيتوقف زر الدفع فجأة. وبدل البحث عن السبب وسط الأزمة، تُرجع أولًا الإصدار السابق ليستمر البيع. ثم تبحث عن السبب في بيئة تجريبية.
ما الذي يجب أن يكون قابلًا للإرجاع#
- الكود: عادةً يسهل ذلك عبر Git والوسوم (Tag).
- الملفات: بالاحتفاظ بإصدارات النشر السابقة.
- قاعدة البيانات: هي الجزء الأصعب؛ فإذا تغيّرت بنية الجداول أو سُجّلت بيانات جديدة فالإرجاع ليس بسيطًا.
كيف نجعل الرجوع ممكنًا#
- خذ نسخة احتياطية كاملة قبل كل نشر.
- اكتب تغييرات قاعدة البيانات بحيث تتوافق مع الإصدار السابق (مثلًا أضف عمودًا جديدًا واحذف القديم لاحقًا).
- انشر تدريجيًا حتى إذا ظهرت مشكلة تأثر جزء من المستخدمين فقط.
- اكتب خطوات الرجوع مسبقًا وجرّبها.
خطأ شائع#
افتراض أن الرجوع ممكن دائمًا. فإذا خزّن التطبيق بيانات المستخدمين بشكل جديد فقد يفسد الرجوع إلى الكود القديم البيانات. ولهذا يجب أن يراعي تصميم النشر طريق العودة منذ البداية، لا أن يُفكَّر فيه بعد الخطأ.