Entity Framework - متى تستخدم Migrations تلقائيًا؟ ومتى تكتب SQL Scripts يدوياً؟
Entity Framework Core - متى تستخدم Migrations تلقائيًا؟ ومتى تكتب SQL Scripts يدويًا؟
🧠 مقدمة
في العمل مع Entity Framework Core، أمامك خياران لتحديث قاعدة البيانات:
- استخدام Migrations التلقائية عبر أوامر مثل
Update-Database. - أو توليد سكربتات SQL يدويًا وتنفيذها بنفسك.
🛠️ متى تستخدم Migrations التلقائية؟
تستخدم Migrations التلقائية (Update-Database) عندما:
- تعمل في بيئة تطوير (Development Environment).
- تجري تعديلات متكررة على الكود والبيانات بشكل يومي.
- المشروع صغير أو متوسط الحجم ولا يحتوي على بيانات إنتاج حساسة.
- أنت تتحكم بشكل كامل في قاعدة البيانات ولا يوجد قيود من فريق DBA.
✅ في بيئة التطوير، السرعة والمرونة أهم من الحذر، لذلك Migrations التلقائية مريحة جدًا.
🛠️ متى تكتب SQL Scripts يدويًا؟
تستخدم SQL Scripts اليدوية عندما:
- تعمل في بيئة إنتاج (Production Environment) أو اختبار رسمي (Staging).
- البيانات الموجودة حيوية وحساسة ولا تحتمل فقدان أو تلف.
- هناك عمليات مراجعة رسمية للتغييرات قبل تطبيقها (مثل مراجعة DevOps أو DBA).
- تحتاج إلى تسجيل وتحليل التغييرات يدويًا قبل تنفيذها.
✅ كتابة السكربتات يدويًا (أو توليدها عبر Script-Migration) يمنحك فرصة لمراجعة ما سيتم تطبيقه بالضبط خطوة بخطوة.
🔍 مقارنة سريعة بين الطريقتين
| البند | Migrations التلقائية | SQL Scripts اليدوية |
|---|---|---|
| السرعة | أسرع وأسهل | أبطأ بسبب المراجعة اليدوية |
| مستوى الأمان | أقل أمانًا | أعلى أمانًا وتحكمًا |
| مناسب لـ | تطوير واختبار داخلي | إنتاج واختبار رسمي |
| سهولة التراجع | أصعب قليلًا | أسهل عبر إدارة السكربتات |
👨💻 خطوات توليد سكربت SQL يدوي
لتوليد سكربت SQL من Migration:
Script-Migration -From InitialCreate -To AddProductsTable
✅ يتم إنشاء ملف SQL يمكنك مراجعته وتنفيذه بنفسك على القاعدة الإنتاجية.
⚡ نصائح إضافية مهمة
- في بيئة التطوير ➔ استعمل Update-Database للتجربة السريعة.
- في بيئة الإنتاج ➔ دائمًا استخدم سكربت SQL مُراجع يدويًا.
- قبل تنفيذ أي سكربت على Production ➔ تأكد من عمل نسخة احتياطية كاملة.
تعليقات
إرسال تعليق