Entity Framework - تنفيذ الأمر Update-Database
Entity Framework Core - تنفيذ الأمر Update-Database
🧠 ما هو الأمر Update-Database؟
الأمر Update-Database هو أمر يستخدم لتطبيق كل التغييرات المسجلة في ملفات Migrations على قاعدة البيانات الفعلية.
بمعنى آخر: يقوم بقراءة ملفات Migration ➔ ثم ينفذ أوامر SQL اللازمة لإنشاء أو تعديل الجداول بناءً على آخر نسخة من الكود.
🛠️ الصيغة الأساسية للأمر
Update-Database
يمكن أيضًا تحديد اسم Migration معين إذا أردت التحديث حتى نقطة محددة:
Update-Database -Migration MigrationName
🎯 ماذا يحدث عند تنفيذ Update-Database؟
- EF Core يتصل بقاعدة البيانات المحددة في
Connection String. - يتحقق من جدول خاص بإدارة Migrations يسمى __EFMigrationsHistory.
- يحدد أي Migrations لم يتم تنفيذها بعد.
- ينفذ أوامر SQL الناتجة عن ملفات الـ Migration على قاعدة البيانات.
- يسجل أسماء Migrations التي تم تنفيذها داخل جدول __EFMigrationsHistory لتفادي تكرار التنفيذ لاحقًا.
👨💻 مثال عملي على Update-Database
بعد أن أنشأت Migration باسم InitialCreate (مثلاً لإنشاء جدول Products)، تنفذ الأمر:
Update-Database
النتيجة:
- يتم إنشاء قاعدة بيانات جديدة (لو لم تكن موجودة).
- يتم إنشاء الجداول (مثل Products) حسب الكود داخل ملف Migration.
- يتم تسجيل Migration باسم InitialCreate داخل جدول __EFMigrationsHistory.
🔍 متى تحتاج إلى تحديد Migration بالاسم؟
- عندما ترغب بالرجوع لنسخة أقدم من قاعدة البيانات.
- عندما تريد اختبار تحديث قاعدة البيانات حتى نقطة محددة بدون تنفيذ جميع Migrations.
Update-Database -Migration AddCategoryTable
هذا الأمر يجعل قاعدة البيانات تتوقف عند Migration اسمها AddCategoryTable.
⚡ ملاحظات إضافية
- تأكد أن Connection String صحيحة قبل تنفيذ Update-Database.
- لو لم تُنشئ أي Migration بعد ➔ Update-Database لن يقوم بأي شيء.
- لو قاعدة البيانات غير موجودة ➔ سيتم إنشاؤ
تعليقات
إرسال تعليق