.NET Core - استخدام الـ Migrations وإدارتها

.NET Core - استخدام الـ Migrations وإدارتها

Migrations هي ميزة مهمة في EF Core تتيح لك تتبع التغييرات التي تجريها على نموذج البيانات (Entities)، وتحديث قاعدة البيانات تلقائيًا بناءً على هذه التغييرات، دون الحاجة لحذفها أو إعادة إنشائها.


🔹 ما هي الـ Migration؟

هي ملف C# يُولد تلقائيًا بواسطة EF Core، يحتوي على التعليمات اللازمة لإنشاء أو تعديل الجداول والأعمدة في قاعدة البيانات. يمكنك إنشاء عدة Migrations كلما أجريت تعديلاً على الكيانات.

🔹 إنشاء أول Migration

بعد إنشاء كلاس DbContext والكيانات:


dotnet ef migrations add InitialCreate

📂 يتم إنشاء مجلد جديد باسم Migrations يحتوي على الملفات الخاصة بالخطوة الأولى من قاعدة البيانات.

🔹 تطبيق التغييرات على قاعدة البيانات


dotnet ef database update

🔸 يقوم هذا الأمر بتنفيذ أوامر SQL اللازمة لإنشاء الجداول فعليًا.

🔹 تعديل قاعدة البيانات لاحقًا

إذا قمت بإضافة خاصية جديدة أو تعديل في أحد الكيانات:


// إضافة خاصية جديدة
public string Description { get; set; }

ثم تنفذ أوامر:


dotnet ef migrations add AddDescriptionToProduct
dotnet ef database update

🔹 التراجع عن Migration


dotnet ef database update LastGoodMigration
dotnet ef migrations remove

🔸 يمكنك الرجوع إلى حالة معينة من قاعدة البيانات أو حذف آخر Migration قمت به.

🔹 عرض الحالة الحالية


dotnet ef migrations list

🔸 يعرض جميع الـ Migrations التي تم إنشاؤها بترتيب زمني.

🔹 نصائح مهمة لإدارة الـ Migrations

  • استخدم أسماء واضحة مثل: AddPriceToProduct أو UpdateCustomerTable.
  • لا تعدل ملفات Migration يدويًا إلا عند الضرورة.
  • يفضل أن يكون لكل تعديل كبير Migration منفصل.
  • قبل تنفيذ update على بيئة إنتاج، تأكد من تجربة التعديلات في بيئة اختبار.

🔹 الخلاصة

EF Core Migrations أداة قوية تساعدك على تتبع تغييرات البيانات وإدارة البنية الهيكلية لقاعدة البيانات بطريقة مرنة وآمنة. وهي الأفضلية الكبرى في Code First لأنها تحافظ على مزامنة الكود وقاعدة البيانات بشكل مستمر.

تعليقات

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

C# - Arrays

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

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