Отмена и повтор
Можно вернуться к предыдущему состоянию редактирования или перейти вперед к более позднему.
История хранит до 2048 изменений.
- Отмена:
Ctrl + Z(Windows/Linux) или⌘ + Z(Mac) - Повтор:
Ctrl + Shift + Z(Windows/Linux) или⌘ + Shift + Z(Mac)
На панели инструментов те же две команды есть в виде кнопок Undo и Redo, рядом с кнопкой Time Travel.
Они подсвечиваются, только когда есть что отменить или повторить. Редактор с атрибутом readonly скрывает все три кнопки, а сочетания клавиш ничего не делают.
Отмена и повтор работают только на вкладке ERD. На вкладках «Визуализация», «Схема SQL», «Генератор кода» и «Настройки» они недоступны. В полях Before tables и After tables на вкладке «Схема SQL» те же клавиши вместо этого отменяют и повторяют ввод в самом поле.
Сочетания клавиш также не работают, пока открыт Быстрый поиск, окно Table Properties, окно Diff Viewer, предварительный просмотр Auto Layout, окно Export image, окно «Сопоставить столбцы» или Путешествие во времени.
Они продолжают работать, пока фокус клавиатуры находится в любом месте Обозревателя, включая его дерево, и пока открыто окно выбора цвета. Даже если курсор ввода находится в одном из полей Обозревателя или окна выбора цвета, например в поле поиска, поле замены или поле Hex, они отменяют и повторяют изменения диаграммы, а не текста в поле.
История хранится в памяти в течение текущего сеанса. Она не сохраняется в документе, поэтому после повторного открытия диаграммы история пуста.

Что записывается в историю
Записывается:
- Таблицы и заметки: добавление, удаление, перемещение, цвет, имя и комментарий, текст и размер заметки.
- Группы таблиц: добавление, удаление, перемещение, изменение размера, имя, цвет и то, в какой группе находится каждая таблица, — см. Группы таблиц.
- Столбцы: добавление, удаление, изменение порядка и все параметры столбца.
- Связи: добавление, удаление, изменение типа, столбцы, заданные в окне «Сопоставить столбцы», и каждый выбор в пункте
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иTablesна вкладке «Схема SQL», который относится к окну редактора, — см. Панель параметров. - Все на вкладке «Настройки», включая строки
Lock. - Тема и язык интерфейса — см. Язык и тема.
- То, какая таблица, заметка или группа отображается поверх остальных.
- Обозреватель: его открытие, закрытие или изменение размера, сворачивание его дерева, а также текст и параметры поиска. Однако то, что изменяют кнопки
ReplaceиReplace All, записывается, как и прокрутка, которую выполняет переход, — см. Один жест — один шаг. - Масштабирование и перемещение вида на вкладке «Визуализация» в любом из режимов, перемещение узлов графа или карточек Flow,
Tidy Up, отображение строк и фокус на таблицах — см. Flow никогда не изменяет документ.
Изменение любого из этих пунктов отменить нельзя.
Изменения, поступающие из другого редактора, тоже не записываются, поэтому отмена откатывает только ваши собственные изменения. В сеансе совместного редактирования каждый редактор отменяет свои изменения, а агент для программирования, который редактирует через MCP-сервер, отменяет свои с помощью инструмента erd_undo.
Отмена импорта через пункт Import, который заменяет всю диаграмму, возвращает прежнюю диаграмму в том виде, в каком она была в редакторе на момент импорта, вместе с состоянием каждой блокировки и каждым заблокированным значением на тот момент.
Если в той диаграмме была включена блокировка Viewport, вид и масштаб возвращаются к заблокированному виду, с которого открывается диаграмма, а не туда, где находились вы. Если же блокировка Viewport была выключена, они возвращаются туда, где вы находились в момент импорта. Остальные заблокированные настройки, например открытая вкладка или язык Генератора кода, остаются такими, как сейчас на вашем экране.
В новой диаграмме все блокировки изначально включены. Чтобы сохранить свой вид при такой отмене, выключите блокировку Viewport до импорта. Если выключить ее после импорта или импортировать JSON-файл, в котором собственная блокировка Viewport выключена, место, куда ведет отмена, не изменится.
Один жест — один шаг
Все, что отправляет один жест, становится одной записью в истории.
Вставка нескольких таблиц и заметок за один раз или их дублирование с помощью 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 составляет один шаг вместе с прокруткой, которая выводит добавленный блок в область просмотра, если она нужна.
Создание группы таблиц — рисованием или группировкой выделенных таблиц с помощью пункта Group selected tables или клавиш T, затем G — составляет один шаг вместе со всеми таблицами, которые в нее попадают. Удаление группы составляет один шаг, а его отмена возвращает группу вместе с ее таблицами.
Перетаскивание группы за строку заголовка перемещает группу и все ее таблицы за один шаг. Таблицы, перетащенные в группу или из группы, меняют группу в том же шаге, что и их перетаскивание, если отпустить их в течение примерно 200ms после последнего движения, поэтому одна отмена возвращает их на прежнее место и в прежние группы. Если перед отпусканием была более долгая пауза, смена группы становится отдельным шагом, и первая отмена откатывает только ее.
Изменение размера группы за край или угол записывается один раз — в момент отпускания.
Применение Автоматического размещения составляет один шаг, включая группы, которые оно подгоняет под их таблицы.
Нажатие кнопки Replace All в Поиске и замене тоже составляет один шаг, сколько бы имен таблиц, столбцов, индексов и групп таблиц, а также комментариев и заметок оно ни изменило. Если оно ничего не изменяет, например когда параметр Preserve Case записывает каждое совпадение обратно в прежнем виде, шаг не записывается.
Одно нажатие кнопки Replace составляет один шаг, включая прокрутку к следующему совпадению, если она для этого совпадения нужна. Если совпадение при этом записывается обратно в прежнем виде, в историю попадает только эта прокрутка, а если прокрутки нет — ничего.
Переход к совпадению прокручивает холст, только если совпадение еще не видно достаточно хорошо, — см. Куда ведет переход. Эта прокрутка записывается так же, как любое другое изменение положения вида, поэтому после перемещения по совпадениям отмена сначала откатывает эти прокрутки, по одной за шаг.
Другие переходы, которые ведут на холст, записывают свою прокрутку так же: выбор строки в Обозревателе или результата Быстрого поиска либо нажатие кнопки карточки со значком внешней ссылки в режиме Flow. Переход, который оставляет вид на месте, ничего не записывает. Выбор строки в списке окна Diff Viewer тоже ничего не записывает, так как он прокручивает лишь собственные стороны Просмотра различий, доступные только для чтения.
Непрерывное перетаскивание, перемещение холста, масштабирование, жест сведения пальцев или изменение цвета буферизуется примерно на 200ms и тоже попадает в историю одной записью.
Перетаскивание с общим смещением меньше 20px не записывает перемещение. Записывается только вызванная им смена группы, если она есть.
Ввод текста в ячейку или заметку записывается по отдельным операциям ввода, а не по жестам: каждый введенный символ, каждая вставка и каждый шаг набора в методе ввода (IME) — это отдельный шаг.
Имя группы таблиц записывается один раз, когда его сохраняет нажатие Enter или выход из поля, поэтому имя, которое вы вводите для только что созданной группы, составляет шаг, отдельный от ее создания. Клавиша Esc или имя, оставленное без изменений, ничего не записывают.
Путешествие во времени
Открывается кнопкой Time Travel на панели инструментов, рядом с кнопками отмены и повтора.
Кнопка ничего не делает, пока в сеансе нет хотя бы одного записанного изменения.
Путешествие во времени открывает отдельную копию диаграммы, доступную только для чтения, с тем положением прокрутки и тем масштабом, которые показывает холст, независимо от того, включена ли блокировка Viewport.
Перетащите ползунок или щелкните в любом месте его дорожки, чтобы перемещаться по всей истории изменений и просматривать каждую точку. Крайнее левое положение ползунка — это состояние за один шаг до первого записанного изменения, а при открытии ползунок стоит на текущем состоянии.
Предварительный просмотр не интерактивен: в нем отображается мини-карта, но перемещать, прокручивать или редактировать его нельзя, а реальный документ остается нетронутым до применения.
Нажмите кнопку Apply, чтобы восстановить выбранную точку, либо кнопку Cancel или клавишу Esc, чтобы оставить документ без изменений.
