ביטול פעולה וביצוע חוזר
ניתן לחזור למצב עריכה קודם או להתקדם למצב מאוחר יותר.
ההיסטוריה שומרת עד 2048 שינויים.
- ביטול פעולה:
Ctrl + Z(Windows/Linux) או⌘ + Z(Mac) - ביצוע חוזר:
Ctrl + Shift + Z(Windows/Linux) או⌘ + Shift + Z(Mac)
בכרטיסיית ERD, בסרגל הכלים מופיעות אותן שתי פקודות כלחצנים Undo ו-Redo, לצד הלחצן Time Travel. בכרטיסיית מילון מופיעים בו Undo ו-Redo בלי Time Travel, ובשום כרטיסייה אחרת הם אינם מופיעים.
שני הלחצנים מוארים רק כשיש מה לבטל או מה לבצע שוב. עורך readonly מסתיר אותם ואת Time Travel, וקיצורי המקשים אינם מבטלים ואינם מבצעים שוב דבר.
ביטול פעולה וביצוע חוזר פועלים על ההיסטוריה של התרשים רק בכרטיסיית ERD.
קיצורי המקשים אינם פעילים שם כל עוד פתוחים החיפוש המהיר, החלון Table Properties, התצוגה Diff Viewer, התצוגה המקדימה של Auto Layout, תיבת הדו-שיח Export image, מיפוי עמודות או מסע בזמן.
הם ממשיכים לפעול כשהמקלדת נמצאת בכל מקום בסייר, כולל העץ שלו, וכל עוד בורר הצבעים פתוח. גם כשסמן הטקסט נמצא באחד מהשדות שלהם, כגון שדה האיתור, שדה ההחלפה או השדה Hex, הם מבטלים ומבצעים שוב שינויים בתרשים, ולא בטקסט שבשדה.
בכרטיסיות האחרות:
- מילון: הם מבטלים ומבצעים שוב את העריכות של הגיליון המוצג,
Domains,WordsאוTerms, מתוך ההיסטוריה של הגיליון הזה עצמו, ולעולם לא מזו של התרשים. בגיליוןChecksהם אינם עושים דבר – ראו גיליונות המילון. - ויזואליזציה: במצב
Flow, אותם מקשים עוברים צעד אחורה וצעד קדימה במה שמצב הזרימה הציג, כפי שעושיםPrevious tableו-Next table, גם בעורךreadonly. שם הם לעולם אינם מבטלים או מבצעים שוב שינויים בתרשים – ראו הטבלה הקודמת והטבלה הבאה. במצבGraphהם אינם עושים דבר. - סכמת SQL, מחולל קוד והגדרות: הם אינם זמינים. בשדות
Before tablesו-After tablesשל כרטיסיית סכמת SQL, אותם מקשים מבטלים ומבצעים שוב, במקום זאת, את ההקלדה בשדה.
ההיסטוריה מוחזקת בזיכרון של הסשן הנוכחי. היא אינה נשמרת במסמך, ולכן תרשים שנפתח מחדש מתחיל עם היסטוריה ריקה.

מה נרשם בהיסטוריה
נרשמים:
- טבלאות ופתקים: הוספה, הסרה, הזזה וצבע; השם, השם הלוגי וההערה של טבלה; הטקסט והגודל של פתק.
- קבוצות טבלאות: הוספה, הסרה, הזזה, שינוי גודל, שם, צבע, והקבוצה שבה נמצאת כל טבלה – ראו קבוצות טבלאות.
- עמודות: הוספה, הסרה, שינוי סדר, שם לוגי, התחום שכל עמודה מקושרת אליו, וכל אחת מאפשרויות העמודה.
- השמות הפיזיים שהמילונים גוזרים, והאם כל שם נכתב ידנית או מנוהל על ידי המילונים: ביטול פעולה אחד מחזיר שם ואת המצב הזה יחד – ראו שמות שנכתבו ידנית.
Derive Physical Name Againו-Derive Physical Names Again– ראו גזירה מחדש של השמות הפיזיים.- קשרים: הוספה, הסרה, שינוי סוג, העמודות שנקבעו במיפוי עמודות, וכל בחירה מתוך הפריטים
On DeleteאוOn Update– ראו ON DELETE ו-ON UPDATE. ביטול של הסרה מחזיר את הקשר עם פעולות ה-ON DELETE וה-ON UPDATE שלו. - אינדקסים והעמודות שלהם.
- מיקום התצוגה, רמת הזום והמתגים של
View Option. - הסקריפטים
Before tablesו-After tablesשל כרטיסיית סכמת SQL, צעד אחד לכל עריכה שמחילים ביציאה מהשדה – ראו סקריפטים לפני הטבלאות ואחריהן. - ייבוא של קובץ, והוספה של קובץ באמצעות
Import and Add.
אינם נרשמים:
- מסד הנתונים ושם מסד הנתונים.
- שפת הקוד במחולל הקוד,
Table Name Caseו-Column Name Case. - סוג המירכאות, בין שנקבע בכרטיסיית סכמת SQL ובין שנקבע בכרטיסיית מחולל קוד.
- הבחירות
Statements,Header,Write logical names into empty commentsו-Tablesבכרטיסיית סכמת SQL, ששייכות לחלון העורך – ראו חלונית אפשרויות. - כל מה שבכרטיסיית הגדרות, כולל השורות
Lock. - החלפה של תצוגת השמות, מכל אחד מהמקומות שבהם היא זמינה, בין שהנעילה שלה מופעלת ובין שהיא כבויה – ראו החלפת התצוגה.
- ערכת הנושא ושפת התצוגה – ראו שפה וערכת נושא.
- איזו טבלה, איזה פתק או איזו קבוצה מוצגים בחזית ביחס לשאר.
- הסייר: פתיחה, סגירה או שינוי גודל שלו, כיווץ העץ שלו, ומחרוזת החיפוש והאפשרויות. עם זאת, מה שהלחצנים
Replaceו-Replace Allמשנים נרשם, וכך גם הגלילה שמעבר יוצר – ראו מחווה אחת, צעד אחד. - זום והזזת התצוגה בכרטיסיית ויזואליזציה בכל אחד משני המצבים, הזזה של צמתים בגרף או של כרטיסים במצב זרימה,
Tidy Up, תצוגת השורות, התמקדות בטבלאות ומעבר צעד אחר צעד באמצעותPrevious tableו-Next table– ראו מצב זרימה לעולם אינו עורך את המסמך. - הגיליון המוצג בכרטיסיית מילון, והחיפוש, הבחירה, הגלילה ורוחבי העמודות של כל גיליון – ראו פתיחת הכרטיסייה.
לא ניתן לבטל שינוי של אף אחד מאלה.
עורך לקריאה בלבד אינו רושם דבר בכלל. מיקום התצוגה, הזום ומתגי View Option עדיין משתנים בו, יחד עם הכרטיסייה, תצוגת השמות, מסד הנתונים והגדרות הקוד, אבל על המסך הזה בלבד, ולכן אין מה לבטל – ראו עורכים לקריאה בלבד בדף הגדרות.
ניתן לבטל עריכות שנעשות בכרטיסיית מילון, אבל הן נכנסות להיסטוריה של הגיליון שלהן ולא להיסטוריה הזו, ולכן ביטול פעולה בכרטיסיית ERD לעולם אינו מבטל אף אחת מהן, אפילו לא ערך Data Type חדש של תחום ולא את סוגי העמודות שהוא משנה – ראו גיליונות המילון.
גם שינויים שמגיעים מעורך אחר אינם נרשמים, ולכן ביטול פעולה חל רק על השינויים של המשתמש עצמו. בסשן עריכה שיתופית כל עורך מבטל את השינויים שלו, וסוכן קוד שעורך דרך שרת ה-MCP מבטל את השינויים שלו באמצעות erd_undo.
ביטול של הפעולה Import, שמחליפה את התרשים כולו, מחזיר את התרשים הקודם כפי שהיה בעורך בעת הייבוא, כשכל נעילה מופעלת או כבויה וכל ערך נעול כפי שהיו אז.
אם בתרשים הזה Viewport היה נעול, התצוגה והזום חוזרים לתצוגה הנעולה, שבה התרשים נפתח, ולא למיקום שבו הייתה התצוגה. כש-Viewport שלו אינו נעול, הם חוזרים למיקום שבו הייתה התצוגה בעת הייבוא. שאר ההגדרות הנעולות, כגון הכרטיסייה הנוכחית, שפת הקוד במחולל הקוד או תצוגת השמות, נשארות כפי שהן במסך.
תרשים חדש מתחיל כשכל הנעילות מופעלות. כדי לשמור על התצוגה גם בביטול כזה, יש לבטל את הנעילה של Viewport לפני הייבוא. ביטול הנעילה לאחר מכן, או ייבוא של קובץ JSON שהנעילה Viewport שלו כבויה, אינו משנה את המקום שאליו הביטול מחזיר את התצוגה.
ביטול או ביצוע חוזר של Import מסיימים גם ציור קשר שמתבצע – ראו יצירת קשר.
ביטול של ייבוא קובץ JSON מחזיר גם את המילים, המונחים והתחומים שהיו בתרשים הקודם. ייבוא של סכמת SQL, GraphQL, DBML או AML שומר על המילונים, ולכן הביטול והביצוע החוזר שלו משאירים אותם כפי שהם, כולל עריכות שנעשו בכרטיסיית מילון מאז.
ביטול פעולה או ביצוע חוזר בכרטיסיית ERD שמקשרים מחדש עמודה לתחום, או שמחזירים עמודה שמקושרת לתחום, נותנים לעמודה את סוג הנתונים של התחום כפי שהוא כעת. ביטול או ביצוע חוזר שמחזירים סוג אחר לעמודה מקושרת מבטלים את הקישור שלה – ראו תחומים וסוגי נתונים.
מחווה אחת, צעד אחד
כל מה שמחווה אחת מבצעת הופך לרשומה אחת בהיסטוריה.
ביטול של הדבקת כמה טבלאות ופתקים בבת אחת, או של שכפולם באמצעות Alt + drag, נעשה בצעד אחד.
הקשה על Delete או על Backspace, או בחירה ב-Delete selected או ב-Delete columns בתפריט ההקשר, היא צעד אחד, בלי קשר למספר הטבלאות, הפתקים, קבוצות הטבלאות או העמודות שהיא מסירה.
הפעלה או כיבוי של המפתח הראשי בכמה עמודות שנבחרו נרשמים כצעד אחד, בין באמצעות Alt + K (Windows/Linux) או ⌥ + K (Mac) ובין באמצעות הפריט Primary Key on selected columns בתפריט ההקשר של טבלה.
קביעת הצבע של הבחירה, או הסרתו באמצעות No color או Remove color, היא צעד אחד, בלי קשר למספר הטבלאות, הפתקים והקבוצות שנבחרו. בחירה בצבע שכבר יש לכל מה שנבחר אינה רושמת צעד, וגם No color אינו רושם צעד כשלאף אחד מהפריטים שנבחרו אין צבע.
לחיצה על Map או על Save במיפוי עמודות היא צעד אחד, יחד עם עמודות המפתח הזר שהיא מוסיפה וסוגי הנתונים שהיא משנה.
הפעולה Import and Add היא צעד אחד, יחד עם הגלילה שמביאה את הבלוק שנוסף לתצוגה כשיש בה צורך.
בחירה במונח מהרשימה שמתחת לתא השם הלוגי היא צעד אחד: השם הלוגי, השם הפיזי שהוא גוזר, ובעמודה גם התחום של המונח עם סוג הנתונים שלו – ראו השלמת שמות מונחים.
בחירה בתחום בתא התחום של עמודה היא צעד אחד, יחד עם סוג הנתונים שהוא נותן לעמודה ומה שסנכרון סוג הנתונים בקשרים מעביר לאורך הקשרים. גם בחירה ב-None, שמבטלת את הקישור של העמודה, היא צעד אחד – ראו תא התחום. הקלדה של סוג נתונים שונה מזה של התחום בעמודה מקושרת מבטלת את הקישור של העמודה בצעד של הקלט הזה.
הפעולה Derive Physical Name Again או Derive Physical Names Again היא צעד אחד, בלי קשר למספר השמות, הקישורים לתחומים וסוגי הנתונים שהיא משנה. היא אינה רושמת צעד רק כשהיא אינה משנה דבר. החזרה של שם שנכתב ידנית לניהול המילונים היא שינוי, גם כשהשם כבר מכיל את מה שהמילונים נותנים.
יצירה של קבוצת טבלאות, בשרטוט שלה או בקיבוץ הטבלאות שנבחרו באמצעות הפריט Group selected tables או T ואז G, היא צעד אחד יחד עם כל הטבלאות שנכללות בה. הסרה של קבוצה היא צעד אחד, וביטולה מחזיר את הקבוצה עם הטבלאות שלה בתוכה.
גרירה של קבוצה בשורת הכותרת שלה מזיזה את הקבוצה ואת כל הטבלאות שלה בצעד אחד. טבלאות שמשוחררות לתוך קבוצה או מחוצה לה מחליפות קבוצה באותו צעד כמו הגרירה שלהן כשמשחררים בתוך כ-200ms מהתנועה האחרונה, כך שביטול פעולה אחד מחזיר אותן למקומן ולקבוצות שבהן היו. אחרי השהיה ארוכה יותר לפני השחרור, שינוי הקבוצה הוא צעד נפרד, וביטול הפעולה הראשון מבטל רק אותו.
שינוי גודל של קבוצה באמצעות קצה או פינה נרשם פעם אחת, בשחרור.
החלת פריסה אוטומטית היא צעד אחד, כולל הקבוצות שהיא מתאימה סביב הטבלאות שלהן.
גם הלחצן Replace All באיתור והחלפה הוא צעד אחד, בלי קשר למספר שמות הטבלאות, שמות העמודות, השמות הלוגיים, שמות האינדקסים, שמות קבוצות הטבלאות, ההערות והפתקים שהוא משנה, כולל השמות הפיזיים והקישורים לתחומים שהשמות הלוגיים גוזרים. כשהוא אינו משנה דבר, כמו כשהאפשרות Preserve Case כותבת כל התאמה בחזרה כפי שהייתה, הוא אינו רושם צעד.
לחיצה בודדת על Replace היא צעד אחד, כולל מה ששם לוגי גוזר והגלילה להתאמה הבאה כשההתאמה הזו דורשת גלילה. כשהיא כותבת את ההתאמה שלה בחזרה כפי שהייתה, היא רושמת רק את הגלילה הזו, או שאינה רושמת דבר כשאין גלילה.
מעבר להתאמה גולל את בד הציור רק כשההתאמה עדיין אינה נראית היטב – ראו היכן נוחתת קפיצה. הגלילה הזו נרשמת כמו כל שינוי אחר של מיקום התצוגה, ולכן אחרי מעבר בין התאמות, ביטול פעולה מבטל תחילה את הגלילות האלה, אחת בכל צעד.
שאר המעברים שנוחתים בבד הציור רושמים את הגלילות שלהם באותו אופן: בחירה בשורה בסייר, בתוצאה של החיפוש המהיר, בבדיקה בגיליון Checks של כרטיסיית מילון שמציינת טבלה או עמודה, או בלחצן הכרטיס של הקישור החיצוני במצב זרימה. מעבר שמשאיר את התצוגה במקומה אינו רושם דבר. גם בחירה בשורה ברשימה של Diff Viewer אינה רושמת דבר, כי היא מזיזה רק את הצדדים של מציג ההבדלים עצמו, שהם לקריאה בלבד.
גם גרירה רציפה, הזזת התצוגה של בד הציור, זום, צביטה או שינוי צבע נאגרים למשך כ-200ms ונרשמים כרשומה אחת.
גרירה שזזה פחות מ-20px בסך הכול אינה רושמת הזזה. רק שינוי קבוצה שהיא גורמת לו, אם יש כזה, נרשם.
הקלדה בתא או בפתק נרשמת לפי קלט ולא לפי מחווה: כל תו שמוקלד, כל הדבקה וכל שלב של הרכבה בשיטת הקלט (IME) נרשמים כצעד נפרד.
תא השם הלוגי נרשם באותו אופן. כששדה העריכה שלו נסגר עם שם לוגי שונה מזה שהיה בו כשנפתח, השם הפיזי שהמילונים גוזרים ממנו הוא צעד נוסף אחרי ההקלדה. ביטול הפעולה הראשון מבטל רק את השם הזה, יחד עם התחום וסוג הנתונים שמונח הביא, ומשאיר את השם הלוגי שהוקלד. כשדבר אינו נגזר, דבר נוסף אינו נרשם – ראו כתיבת שם לוגי.
השם של קבוצת טבלאות נרשם פעם אחת, כשהוא נשמר בהקשה על Enter או ביציאה מהשדה, כך שהשם שמוקלד בקבוצה שזה עתה נוצרה הוא צעד נפרד מיצירתה. הקשה על Esc, או שם שנשאר ללא שינוי, אינם רושמים דבר.
גיליונות המילון
לכל אחד מהגיליונות Domains, Words ו-Terms של כרטיסיית מילון יש היסטוריה משלו, נפרדת מזו של התרשים. כל עריכה שנעשית בכרטיסייה נכנסת להיסטוריה של הגיליון שאת השורות שלו היא כותבת. כמו ההיסטוריה של התרשים, כל היסטוריה שומרת עד 2048 צעדים ומוחזקת בזיכרון של הסשן.
- כשהמקלדת נמצאת בכרטיסייה,
Ctrl + Z(Windows/Linux) או⌘ + Z(Mac) מבטל את העריכה האחרונה של הגיליון המוצג, ו-Ctrl + Shift + Z(Windows/Linux) או⌘ + Shift + Z(Mac) מבצע שוב את העריכה האחרונה שבוטלה. - הלחצנים
Undoו-Redoבסרגל הכלים עושים אותו דבר, ומוארים רק כשבגיליון המוצג יש עריכה לבטל או לבצע שוב. לחיצה עליהם משאירה את המקלדת במקום שבו הייתה, ברשת או בשדה החיפוש. בכרטיסייה איןTime Travel. - בגיליון
Checks, שבו לא עורכים דבר, הלחצנים אינם מוארים, ולא הם ולא המקשים עושים דבר. - כשעריכה של תא פתוחה, או כשסמן הטקסט נמצא בשדה החיפוש של הכרטיסייה, המקשים מבטלים ומבצעים שוב, במקום זאת, את ההקלדה שם.
ההיסטוריות לעולם אינן מתערבבות. ביטול פעולה בכרטיסיית ERD לעולם אינו מבטל עריכה של גיליון, וביטול פעולה בגיליון לעולם אינו מבטל עריכה של גיליון אחר או של התרשים. כל גיליון שומר על ההיסטוריה שלו במעבר בין גיליונות או בין כרטיסיות.
כל אחד מאלה הוא צעד אחד של הגיליון שלו:
- עריכה של תא, שנרשמת פעם אחת כשהיא נכתבת ולא לפי כל תו שמוקלד, ורק כשהיא משנה את הערך – ראו עריכת תאים.
- הדבקה, כולל השורות שהיא מוסיפה, וניקוי התאים שנבחרו באמצעות
DeleteאוBackspace– ראו העתקה והדבקה. Add Row, וכל הוספה או מחיקה של שורות, מהסרגל, מתפריט הרשת או מהמקשים, בלי קשר למספר השורות שהיא כוללת – ראו הוספה ומחיקה של שורות.- תחום של מונח שנבחר מהרשימה שלו, כולל
None– ראו התחום של מונח. - מיון – ראו מיון.
- קובץ CSV אחד שיובא באמצעות
Import CSV, בלי קשר למספר השורות שהוא מוסיף או מעדכן. זהו צעד של הגיליון שהקובץ ממלא, שהכרטיסייה מציגה אז, בלי קשר לגיליון שממנו הוא יובא – ראו ייבוא.
כתיבה שאינה משנה דבר, כגון ייבוא חוזר של אותו קובץ או מיון של גיליון שכבר מסודר בסדר הזה, אינה רושמת צעד, וכך גם כתיבה שנדחית עם ההודעה הקופצת Nothing saved: …. כשמונח שאין לו Physical Name מקבל שם, השם הפיזי שהמילים שלו מרכיבות הוא חלק מהצעד של העריכה הזו.
ערך Data Type חדש של תחום הוא צעד אחד של הגיליון Domains, יחד עם הסוגים שהוא נותן לעמודות שמקושרות לתחום ולעמודות שסנכרון סוג הנתונים בקשרים מגיע אליהן מהן – ראו תחומים וסוגי נתונים.
ביטול או ביצוע חוזר שלו משנים את הסוג של העמודות שמקושרות לתחום באותו רגע, ולכן עמודה שמאז קושרה לתחום אחר או שהסוג שלה שונה שומרת על הסוג שלה. עמודה שהצעד ביטל את הקישור שלה, כגון מפתח זר שהסנכרון ביטל את הקישור שלו לתחום משלו, מקושרת מחדש רק כל עוד היא עדיין אינה מקושרת ועדיין מכילה את הסוג שהצעד השאיר לה.
עורך readonly מסתיר את הלחצנים, והמקשים אינם מבטלים ואינם מבצעים שוב דבר.
גם שינויים של שותפים לעריכה ושל סוכני קוד אינם נרשמים בהיסטוריה של גיליון.
ההיסטוריה של כל גיליון מתרוקנת כשהמילונים מוחלפים: בייבוא של קובץ JSON באמצעות Import, של המשתמש או של שותף לעריכה, בביטול או בביצוע חוזר שלו, ובטעינה של תרשים אחר לעורך. ייבוא של סכמת SQL, GraphQL, DBML או AML באמצעות Import שומר על המילונים, ואיתם על ההיסטוריה של כל גיליון, גם בביטול ובביצוע החוזר שלו.
מסע בזמן
מסע בזמן נפתח מהלחצן Time Travel בסרגל הכלים, לצד ביטול פעולה וביצוע חוזר בכרטיסיית ERD.
הלחצן אינו עושה דבר עד שיש בהיסטוריה של התרשים לפחות שינוי אחד שנרשם. עורך לקריאה בלבד אינו מציג לחצן כזה, ועורך שהופך לקריאה בלבד סוגר את מסע בזמן בלי להחיל אותו.
מסע בזמן פותח עותק נפרד של התרשים לקריאה בלבד, במיקום הגלילה, ברמת הזום ובתצוגת השמות שבד הציור מציג, בין שהנעילה Viewport או Name View מופעלת ובין שלא.
הוא עובר צעד אחר צעד בהיסטוריה של התרשים בלבד, ולכן העריכות של גיליונות המילון אינן בין הנקודות שלו.
יש לגרור את המחוון, או ללחוץ במקום כלשהו על המסילה שלו, כדי לנוע לאורך כל היסטוריית העריכה ולהציג תצוגה מקדימה של כל נקודה. המיקום השמאלי ביותר של המחוון הוא המצב שהיה צעד אחד לפני השינוי הראשון שנרשם, והוא נפתח כשהידית על המצב הנוכחי.
התצוגה המקדימה אינה מגיבה לפעולות: היא מציגה מפה מוקטנת, אבל לא ניתן להזיז בה את התצוגה, לגלול בה או לערוך אותה, והמסמך האמיתי נשאר ללא שינוי עד להחלה.
יש ללחוץ על Apply כדי לשחזר את הנקודה שנבחרה, או על Cancel, או להקיש על Esc, כדי להשאיר את המסמך ללא שינוי.
