Entity Framework - كيفية حذف Migration لم يتم تنفيذها.

Entity Framework Core - كيفية حذف Migration لم يتم تنفيذها


🧠 متى تحتاج إلى حذف Migration؟

أحيانًا بعد إنشاء Migration جديدة تكتشف أنك ارتكبت خطأ أو أنك لا تحتاج هذا التغيير، ولم تقم بعد بتنفيذ Update-Database.

في هذه الحالة يمكنك حذف الـ Migration بأمان لأن التغيير لم يُطبق على قاعدة البيانات بعد.


🛠️ كيف يتم حذف Migration لم يتم تنفيذها؟

بكل بساطة، يمكنك استخدام الأمر:


Remove-Migration

أو إذا كنت تعمل مع الـ CLI:


dotnet ef migrations remove

✅ هذا الأمر يقوم بـ:

  • حذف ملف الـ Migration الأخير الذي لم يتم تنفيذه.
  • تحديث Snapshot الخاص بالـ DbContext.


🔗 شروط حذف Migration باستخدام Remove-Migration

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

👨‍💻 مثال عملي على حذف Migration

افترض أنك أنشأت Migration بالخطأ:


Add-Migration AddWrongTable

ثم أدركت أن هذه التغييرات غير صحيحة قبل تنفيذ Update-Database، ببساطة تنفذ:


Remove-Migration

وسيتم حذف ملف Migration مع التراجع عن التغييرات التلقائية في Snapshot.


⚡ ماذا يحدث لو حاولت Remove-Migration بعد تنفيذ Update-Database؟

لو كانت الـ Migration قد تم تنفيذها بالفعل على قاعدة البيانات، ستظهر لك رسالة خطأ مثل:

Unable to remove migration because the database has already been updated to this migration.

في هذه الحالة تحتاج أولاً إلى التراجع لنسخة سابقة (سنشرحه في الدروس القادمة إن شاء الله).


🔍 نصائح مهمة

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

تعليقات

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

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

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