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 لن يقوم بأي شيء.
  • لو قاعدة البيانات غير موجودة ➔ سيتم إنشاؤ

تعليقات

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

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

1.1 SQL Introduction

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