برمجة

لماذا تغييرات الـ Schema خطيرة؟

تغييرات قاعدة البيانات من أخطر العمليات في بيئة الإنتاج.

كل مطوّر لديه تجربة:

جدول تم قفله

نشر فشل

تراجع غير ممكن

مكالمة 3 صباحًا

هذه ليست صدفة — بل نتيجة تنفيذ الترحيل كخطوة واحدة بدل عملية منظمة.

المبدأ الأساسي

الترحيلات بدون توقف ليست سحرًا،

بل انضباط + نظام واضح.

القاعدة 1: التوافق مع الإصدارات السابقة

أي تغيير يجب أن يعمل مع:

الكود القديم

الكود الجديد

لا تقم بإعادة تسمية عمود مباشرة

أضف عمود جديد → اكتب في الاثنين → انقل البيانات → احذف القديم لاحقًا

القاعدة 2: توسّع → ترحيل → تقليص

1. التوسّع

إضافة الـ Schema الجديدة بجانب القديمة

2. الترحيل

نقل البيانات تدريجيًا وتحديث الكود

3. التقليص

حذف القديم بعد اكتمال الانتقال

كل مرحلة:

نشر مستقل

قابلة للتراجع

القاعدة 3

العمليات الثقيلة في الخلفية

لا تنفّذ العمليات الكبيرة مباشرة.

أضف العمود بدون قيمة افتراضية

املأ البيانات تدريجيًا

أضف القيود لاحقًا

البطيء المستقر أفضل من السريع المعطّل.

القاعدة 4: Feature Flags كشبكة أمان

استخدم feature flags:

إيقاف التغيير بسهولة

الرجوع للسلوك القديم فورًا

بدون تراجع خطر لقاعدة البيانات

القاعدة 5: اختبر على بيانات حقيقية

بيانات الاختبار الصغيرة مضللة.

اختبر دائمًا على:

نسخة من بيانات الإنتاج

حجم حقيقي

الخلاصة

الترحيلات الآمنة ليست مهارة متقدمة،

بل نظام واضح.

Expand → Migrate → Contract = استقرار

وبمجرد تطبيقه، تختفي مشاكل الإنتاج.