יצירת Migartions ב-ASP.NET

כאשר עובדים עם דאטאבייס רלציוני, אחד הנושאים שצריך לחשוב איך לעשות אותם נכון הוא עדכון המבנה של הדאטאבייס, שדות נוספים, מתחלפים, שמות משתנים, מאפיינים משתנים וכו' וכו', יש "חיים" לדאטאבייס.

לצורך זה – אחד הפתרונות הוא Migartions, כלומר קלאסים, שנוצרים לרוב אוטומטית, ויודעים לבצע את השינוי בדאטאבייס ישירות מתוך הקוד.

איך עושים Migations ב-ASP.NET ?

הנחת יסוד :

 

  • מוגדר Connection תקין
  • קיים ב-Startup.cs הגדרה של הזרקת תלויות DI לקונקשיין.
  • יש תיקית Models , עם קלאסים מוכנים שמייצגים טבלאות.

דרך א לייצר Migrations

  • דרך Tools, או דרך מקש ימני על הפרויקט, נפתח את Nuget Manager Console
  • נקליד
Add-Migration YOUR_MIGRATION_NAME

לאחר כמה שניות של הרצה, נוצרת תיקיה בשם Migrations, ובתוכה נוצר קלאס בשם שביקשנו.

הערה :  אם הקלאס שיצרתם ל-DbContext הוא בשם שיכול להיות דו-משמעותי, למשל AppContext, אז תיכנסו למיגרשיון שנוצר, ותתנו הפניה מדוייקת שכוללת את שם ה Namespace, אחרת כמובן זה לא יעבוד.

 

דרך ב ליצירת Migrations

דרך נוספת היא ליצור את ה Migrations דרך שורת הפקודה הרגילה.

לצורך כך צריך לוודא שמותקנת חבילת    nuget מסויימת.

איך להריץ את ה-MIgrations כך שיעדכנו את המבנה ב-Database

הגיע רגע האמת.

הרצה מתוך Visual Studion

  • בתוך Package Manager Console נקליד
Update-Database

איך זה עובד

  • נוצרת בדאטאבייס טבלת ניהול בשם migrations, שמתעדת איזה מהעדכונים כבר הורצו ואיזה עדין לא.
  • בצורה הזו, הקוד "יודע" איך לעדכן את ה-DB שלנו.