Entity Framework - استخدام الأمر Remove-Migration وUpdate-Database [MigrationName].

Entity Framework Core - استخدام الأمر Remove-Migration وUpdate-Database [MigrationName]


🧠 متى نستخدم Remove-Migration وUpdate-Database معًا؟

نستخدم هذين الأمرين في الحالات التالية:

  • عندما ننشئ Migration بالخطأ ونريد إزالتها قبل تنفيذها.
  • عندما نحتاج التراجع إلى حالة معينة من قاعدة البيانات، ثم إزالة التغييرات التي تلتها.
  • عندما يحدث خطأ في Migration الأخيرة ونريد تصحيح الوضع قبل التأثير على القاعدة.


🛠️ استخدام Remove-Migration

الأمر Remove-Migration يقوم بحذف آخر Migration أنشأتها بشرط:

  • ألا تكون قد نفذت Update-Database عليها بعد.

Remove-Migration

✅ يقوم بحذف ملف Migration وإعادة ضبط Snapshot الخاص بالـ DbContext.


🛠️ استخدام Update-Database مع اسم Migration محدد

إذا كنت قد نفذت Migrations وأردت الرجوع لنسخة معينة، تستخدم الأمر:


Update-Database -Migration MigrationName

🔹 EF Core يحذف التغييرات التي حدثت بعد هذه الـ Migration ليعيد القاعدة إلى حالتها عند هذه النقطة.


👨‍💻 مثال عملي مشترك على Remove-Migration وUpdate-Database

افترض السيناريو التالي:

  • أنشأت Migrations بالترتيب: InitialCreateAddCategoryAddProduct.
  • واكتشفت أن AddProduct فيها مشكلة.

في هذه الحالة:

  1. ترجع قاعدة البيانات إلى Migration AddCategory:
    
    Update-Database -Migration AddCategory
    
  2. ثم تحذف Migration AddProduct:
    
    Remove-Migration
    

✅ الآن أصبحت قاعدة البيانات والكود متطابقين بدون أي مشاكل.


⚡ ملاحظات مهمة

  • لا تستخدم Remove-Migration إذا كانت الـ Migration قد تم تنفيذها فعليًا إلا بعد التراجع عبر Update-Database أولاً.
  • التراجع باستخدام Update-Database لا يحذف ملفات الـ Migration من المشروع، فقط يؤثر على القاعدة.
  • دائمًا تأكد من عمل نسخة احتياطية لقاعدة البيانات قبل أي عملية تراجع أو حذف Migrations.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework