
Up רצה בהרצת ה-migration, למשל ב-Update-Database, ו-Down רצה ב-rollback.Add-Migration ונותנים לה שם כללי, כי נשתמש בה גם לדברים אחרים שאינם Views. בהדגמה השם AddingStructures.Up, migrationBuilder.Sql(...) עם שאילתת CREATE VIEW. ב-Down, אותה קריאה עם DROP VIEW. אפשר להסיר הערות מיותרות ו-using מיותרים.Update-Database מריץ את ה-migration, ובכלי המסד, אחרי Refresh, YoungGifts מופיע תחת Views. אפשר לראות את ה-CREATE VIEW שבנינו.Update-Database. אי אפשר ליצור מודל ישיר ל-View כי הוא לא טבלה אלא שאילתה ספציפית, ולכן עוברים דרך שאילתה.הטקסט המלא של הדקות הראשונות בהרצאה «עדכון ה-View במסד הנתונים» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אחרי שיצרנו את השאילתות ליצירה ולמחיקה של view, אנחנו רוצים להריץ אותם בכדי לשמור את המידע בדאטאבייס. והשאלה היא מתי אנחנו מריצים אותם?
זו תשובה כאשר מבצעים שמירה של המיגריישן בדאטאבייס. זה הזמן ליצירה או להריסה של ה-view. אם אנחנו מסתכלים על המיגריישן שיצרנו בעבר, יש לו פונקציית up.
פונקציית up מתבצעת כשמריצים את המיגריישן, לדוגמה על ידי Update Database, פקודת Update Database שביצענו וכאשר מחזירים אחורה את המיגריישן עושים לו rollback אז מתבצעת פונקציית ה-down.
אבל זה לא יהיה כזה נכון להשתמש במיגריישן הזאת, Initial Creation, ולהוסיף לה את היצירה של ה-view ב-up ואת המחיקה שלו ב-down.
למה? זה פחות אלגנטי המיגריישן הזאת שביצענו זה אינישיאל קריאיישן למרות שאנחנו רק יוצרים את כל הדאטאבייס עדיין ברגע שאנחנו מוסיפים view אנחנו פחות רוצים ללכת למעין קוד מוכן שמכיל כבר כל כך הרבה דברים ולהוסיף לו כאן בסוף את הקוד שלנו שזה סך הכל קריאה לפונקציות האלה הרבה פעמים קורה שפשוט מתכנת הולך ומוחק
את הקוד הזה של המיגריישן של האינישיאל קריאיישן כי הוא רוצה לצרור מחדש. אם הוא מוחק, הוא מוחק גם את הקוד שלנו. זה לא שזה לא נכון לגמרי, אפשר לעשות את זה, אבל מה שיותר מומלץ לעשות זה לבנות מיגרשן נפרדת בשביל היצירות של השאילתות האלה שלנו.
קודם כל בואו ניפטר מהיוזינג המיותרים האלה, ניגש, נפתח את Package Manager Console. כאן אנחנו רוצים To Add Migration, ואנחנו רוצים לבצע מיגריישן שהתפקיד שלו זה להוסיף views אז אפשר לקרוא לו adding views אבל זה לא מדויק כי א' אנחנו גם הולכים להרוס את ה-views לא רק לייצר אותו וגם אנחנו הולכים להשתמש במיגריישן הספציפית הזאת
בשביל לייצר בהמשך עוד דברים שהם לא רק views. אז לא נקרא לו adding views נקרא לו adding structure. מבנים ב-Database View זה איזשהו מבנה אפשר לקרוא לזה Adding Objects לדוגמה כי הם נחשבים אובייקטים כלשהם שנמצאים ב-Database אני אצייר Adding Structures
אנחנו רואים שהמערכת מוסיפה לנו מיגרציה חדשה בואו נריץ היא נה מגריישן מעולה ובמיגרציה החדשה הזאת יש לנו פונקציית up ו-down record שקצת יותר אלגנטי לכתוב בהן מידע מאשר להתערב בפונקציות הקודמות הקיימות יש פה כל מיני הערות כאלה שאפשר להוריד, כל מה שאנחנו רוצים לעשות כאן זה לפנות ל-migration builder נקודה ולפנות לפונקציה sql. פונקציית sql אומרת לנו תנו
לי בבקשה שאילתה, יש לנו אותה, היא נמצאת ב-sql.create view young gifts. את אותו הדבר נעשה פה אבל עם drop view young gifts.
כאן בעצם אנחנו רואים שיש לנו עוד מיגרציה