Entity Framework Coreda migratsiyalar asoslari

Entity Framework Coreda migratsiyalar asoslari

Entity Framework Coreda migratsiyalar asoslari

Entity Framework Coreda migratsiyalar asoslari

Ushbu maqolada Microsoftning dasturchilar uchun eng mashhur va eng qulay bo’lgan texnologiyasi Entity Frameworkdagi migatsiyalar bilan ishlash bo’yicha asoslari haqida so’z boradi.

Entity Framework Core(EF Core) migratsiyalar bilan ishlash uchun EF Core Migrations funksiyasi mavjud bo’lib, uni yordamida dasturchilar loyihalardagi ma’lumotlar ombori(MO)ni loyiha rivojlanishiga va unga qo’yilayotgan talablarga qarab rivojlantirib borishlari mumkin.

Migratsiyalar bizga nimalar beradi?

  • Migratsiya yordamida ma’lumotlar omborini o’zgartirish yoki o’zgarishlarni orqaga qaytarish mumkin, bunda undagi ma’lumotlar yuqolib ketmaydi;
  • EF Core Migrations ma’lumotlar omborini o’zgartirish uchun o’zi avtomat SQL ssenariyalar yozadi, bunda dasturchilar ssenariylarni qo’lda yozishlari shart emas.

EF Core Migrations’ning asosiy buyruqlari(Package Manager Console’da ishlatish uchun):

Buyruq Vazifasi
add-migration [name] Berilgan nom bilan migratsiya yaratadi
remove-migration Oxirgi migratsiyani o’chiradi
update-database MO’ni so’nggi migratsiyagacha yangilaydi
update-database [name] MO’ni ko’rsatilgan migratsiyagacha yangilaydi
get-migrations Mavjud barcha migratsiyalarni ko’rsatadi
script-migration Barcha migratsiyalar uchun SQL script yaratadi
drop database MO’ni o’chiradi

EF Core Migrations’ning asosiy buyruqlari(Terminalda ishlatish uchun):

Buyruq Vazifasi
dotnet ef migrations add [name] Berilgan nom bilan migratsiya yaratadi
dotnet ef migrations remove Oxirgi migratsiyani o’chiradi
dotnet ef database update MO’ni so’nggi migratsiyagacha yangilaydi
dotnet ef database update [name] MO’ni ko’rsatilgan migratsiyagacha yangilaydi
dotnet ef migrations list Mavjud barcha migratsiyalarni ko’rsatadi
dotnet ef migrations script Barcha migratsiyalar uchun SQL script yaratadi
dotnet ef database drop MO’ni o’chiradi
dotnet ef migrations has-pending-model-changes Oxirgi migratsiyadan so’ng modellarda o’zgarish bo’lmaganligini tekshiradi

Kodda migratsiyalarni ishga tushirish quyidagicha bo’ladi:

var context = new MyContext();
context.Database.Migrate();

Migratsiyalar nima uchun kerak?

EF Core Migrations ma’lumotlar omborini boshqarishda dasturchilar uchun qulay va moslashuvchan usul bo’lib, uning yordamida loyihalarda bir vaqtni o’zida bir nechta dasturchilar bitta ma’lumotlar omboriga o’zgartirish kiritishlari mumkin.

  1. Sxemalar evolyutsiyasi. Dasturni rivojlanishi davomida dastur ma’lumotlar ombori doimiy ravishda o’zgarib, rivojlanib boradi. Bunda EF Core Migrations sxemada bo’layotgan o’zgarishlarni nazorat qilib, ular haqida doimo kerakli va muhim ma’lumotlarni vaqt davomida saqlab boradi.
  2. Ma’lumotlar omborini oddiy boshqarish. EF Core Migrations yordamida dasturchilar dastur ma’lumotlar omborini versiyalardan foydalangan holda unga o’zgarishlar kiritishlari mumkin.
  3. Ma’lumotlar omborini avtomatik yaratish. EF Core Migrations yordamida ma’lumotlar omborida avtomatik sxemalar yaratish mumkin. Bunda dasturchilar qo’lda SQL ssenariyalar yozishlari shart bo’lmaydi.
  4. Bir xil ma’lumotlar ombori. EF Core Migrations yordamida dasturni turli xil intancelarida bir holatni, bir xil tuzilmani olib borish mumkin. Masalan dasturchilar o’rtasida yoki dastur stage’ida(prod, qa, dev va h.k.).
  5. Loyihada jamoa bo’lib ishlash. Loyihada ishlash davomida dasturchilar ma’lumotlar omborini lokal versiyasida ishlashadi va kerakli o’zgarishlarni olishlar va kerakli o’zgarishlarni kiritishlari mumkin.

EF Core Migrations dasturchilarga loyihada ishlashda juda katta qulaylik yaratadi. Bundan tashqari loyihada ishlash davomida chiqishi mumkin bo’lgan muommolarni, konfilkt holatlarni oldini oladi.

Umumiy Dasturlash
Entity Framework Coreda migratsiyalar asoslari