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 على قواعد البيانات المشتركة.
تعليقات
إرسال تعليق