Migration & Go-Live

الهجرة ليست Copy Tables. هي عملية تطبيع ومطابقة وإثبات.

الـlegacy يحمل قيمة تجارية يجب الحفاظ عليها، لكنه يحمل أيضًا taxonomies وبيانات غير متسقة. لذلك migration engineering يبدأ مبكرًا، مع rehearsals وreconciliation قبل cutover النهائي.

Extract → Normalize → Validate
Rehearsal · Delta · Rollback

الهجرة تُدرّب قبل يوم الإطلاق

الـfinal cutover يحدث قرب النشر، لكن mapping وscripts وreconciliation يجب أن تكون قد مرت على بيانات حقيقية في rehearsals قبل ذلك.

أربع طبقات لإثبات أن الهجرة صحيحة

لا يكفي أن تنتهي الـscript بدون error. يجب أن نثبت العدد والقيمة والعلاقات، ثم نفحص سجلات حقيقية كما تظهر للمستخدم والـAdmin.

COUNT

كم عميلًا، طلبًا، منتجًا، balance record أو future booking تم نقله؟

VALUE

هل totals المالية، wallet opening balance، stock totals وغيرها تتطابق؟

RELATION

هل كل order مرتبط بالعميل والعنوان والمجموعة والمنتج الصحيح؟

SAMPLE

هل تظهر سجلات حقيقية بشكل صحيح في App/Web/Admin بعد النقل؟

المواعيد والحجوزات المستقبلية أخطر من الـhistory

لو نقلنا تاريخ الطلبات ولم ننقل الالتزامات المستقبلية إلى capacity model الجديد، يمكن أن نفتح سعة وهمية ونخلق double-booking لحظة الإطلاق.

Legacy before go-live

Tomorrow · 6–9 PM · Mario

Confirmed legacy bookings = 5 Legacy slot commitments = active
New capacity system

الـNew Checkout يجب أن يبدأ من الحقيقة

Mario capacity = 10 Migrated committed = 5 Remaining = 5
G
Launch gate

No future legacy delivery commitment exists outside the new capacity system. نفس القاعدة تنطبق على Delivery Slots.

ما الذي يجب أن يدخل خطة الهجرة

كل domain له mapping واضح، validation وreconciliation مناسب له؛ وبعض البيانات مثل reviews/wishlist تُنقل فقط إذا كانت موثوقة.

Password migration

لا نفترض أن كل legacy hash بنفس algorithm.

  1. Audit فعلي لمسار authentication والـhash prefixes.
  2. نحتفظ بالـlegacy hash في migration field مقيد.
  3. أول login يتحقق عبر verifier معتمد.
  4. عند النجاح: rehash إلى Kidzy الجديد ثم إزالة legacy hash.
  5. عند الفشل: normal recovery.

Go / No-Go discipline

الـlegacy لا يغلق بمجرد أن تبدو الواجهة الجديدة جيدة.

  • Reconciliation signed off
  • Backups + restore verified
  • Rollback window defined
  • Payment/queue/integration health checked
  • Future commitments reconciled