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