Entity Framework - كيفية عمل Migrations يدوية عند وجود فريق عمل كبير.
Entity Framework Core - كيفية عمل Migrations يدوية عند وجود فريق عمل كبير
🧠 لماذا نحتاج لعمل Migrations يدوية مع فريق كبير؟
عندما يعمل أكثر من مطور على نفس قاعدة البيانات في مشروع واحد، قد تحدث مشاكل مثل:
- تضارب بين Migrations.
- فقدان تزامن بين القاعدة والكود.
- تنفيذ تغييرات عشوائية تسبب أعطال في الإنتاج.
🔗 الخطوات المثالية لإدارة Migrations يدويًا مع الفرق
1. تحديد مسؤول Migrations
- حدد شخصًا أو فريقًا مسؤولًا عن إنشاء ومراجعة Migrations فقط. - باقي الفريق يضيف التعديلات على الـ Models، لكن لا ينفذ Migrations بدون مراجعة.
2. إنشاء Migration مركزية واحدة لكل مجموعة تغييرات
- اجمع التعديلات التي تمت على الـ Models.
- أنشئ Migration واحدة شاملة لكل التعديلات في مرحلة معينة.
- سمّها باسم معبر (مثلاً: AddUserManagementFeatures
).
3. توليد سكربت SQL ومراجعته قبل التنفيذ
- بعد إنشاء Migration، استخدم:
Script-Migration
- راجع السكربت الناتج بعناية قبل تطبيقه خاصة على قواعد البيانات المهمة (اختبار/إنتاج).
4. توثيق كل Migration
- أنشئ ملف توثيق داخلي (Documentation) لكل مجموعة تغييرات. - اذكر فيه:
- اسم Migration.
- التاريخ.
- ما الذي تم تعديله بالضبط.
5. خطوات العمل الجماعي النموذجية
- كل مبرمج يعدل الـ Models فقط بدون إنشاء Migration بنفسه.
- يرفع Pull Request بالكود المعدل.
- مسؤول Migrations يراجع ويجمع التعديلات.
- ينشئ Migration رسمية واحدة موثقة ومُراجعة.
👨💻 مثال عملي على طريقة العمل
- أحمد أضاف حقل BirthDate
لجدول Users.
- سارة أضافت جدول جديد باسم Permissions.
- كلاهما يرفع الكود فقط بدون أي Migration.
- مسؤول Migrations يجمع التغييرات ثم ينفذ:
Add-Migration AddUserAndPermissionsChanges
- ثم يولد سكربت SQL ويراجعه قبل التنفيذ.
⚡ نصائح إضافية مهمة
- لا تنشئ Migrations عشوائية في كل تعديل بسيط، اجمع التعديلات في Migrations موحدة.
- دائمًا استخدم أسماء Migration معبرة ودقيقة.
- يجب أن تكون جميع البيئات (تطوير/اختبار/إنتاج) محدثة بنفس نسخة Migration لتفادي المشاكل.
تعليقات
إرسال تعليق