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 بالترتيب: InitialCreate ➔ AddCategory ➔ AddProduct.
- واكتشفت أن AddProduct فيها مشكلة.
في هذه الحالة:
- ترجع قاعدة البيانات إلى Migration AddCategory:
Update-Database -Migration AddCategory - ثم تحذف Migration AddProduct:
Remove-Migration
✅ الآن أصبحت قاعدة البيانات والكود متطابقين بدون أي مشاكل.
⚡ ملاحظات مهمة
- لا تستخدم Remove-Migration إذا كانت الـ Migration قد تم تنفيذها فعليًا إلا بعد التراجع عبر Update-Database أولاً.
- التراجع باستخدام Update-Database لا يحذف ملفات الـ Migration من المشروع، فقط يؤثر على القاعدة.
- دائمًا تأكد من عمل نسخة احتياطية لقاعدة البيانات قبل أي عملية تراجع أو حذف Migrations.
تعليقات
إرسال تعليق