9.4.1.1 Генерация SQL-скрипта для создания схемы
Генерация SQL-скрипта для создания схемы позволяет создать скрипт вашей модели базы данных. Вы можете экспортировать скрипт для изменения существующей базы данных или создания новой. Скрипт для создания базы данных аналогичен скрипту, созданному с помощью команды mysqldump db_name.
Выбор создания базы данных предоставляет дополнительные параметры.
9.4.1.1.1 Создание схемы
При открытой вкладке Модель MySQL (model-name.mwb) щелкните , , а затем , чтобы запустить мастер генерации SQL-скрипта. На рисунке ниже показана первая страница мастера.
Рисунок 9.36 Параметры экспорта SQL
В окне «Параметры экспорта SQL» представлены следующие возможности:
-
Файл выходного SQL-скрипта:
Чтобы указать имя выходного файла, введите его в поле Файл выходного SQL-скрипта или используйте кнопку для выбора файла. Оставьте это поле пустым, чтобы просмотреть сгенерированный результат, но не сохранить его.
-
Генерировать операторы DROP перед каждым оператором CREATE
Выберите этот параметр, чтобы сгенерировать оператор удаления каждого объекта перед оператором его создания. Это гарантирует, что при выполнении результата будет удалена любая существующая копия каждого объекта.
Генерировать оператор DROP SCHEMA
-
Сортировать таблицы в алфавитном порядке
Если этот параметр не выбран, таблицы сортируются в соответствии со ссылками внешних ключей.
Пропустить создание внешних ключей
Пропустить также создание индексов FK
-
Опустить квалификатор схемы в именах объектов
Выбрав этот параметр, в операторах SQL будут сгенерированы имена объектов без схемы.
Генерировать операторы USE
-
Генерировать отдельные операторы CREATE INDEX
Выбрав этот параметр, будут созданы отдельные операторы для создания индексов вместо включения определений индексов в операторы
CREATE TABLE. -
Добавить SHOW WARNINGS после каждого оператора DDL
Выбор этого параметра добавляет операторы
SHOW WARNINGSв вывод. Это позволяет отображать любые предупреждения, сгенерированные при выполнении вывода, что может быть полезно для отладки. -
Не создавать пользователей. Только экспортировать привилегии
Выбор этого параметра обновит привилегии существующих пользователей вместо создания новых. Экспорт привилегий для несуществующих пользователей приведет к ошибкам при выполнении скрипта
CREATE. Экспорт существующих пользователей также приведет к ошибке. Не создавать временные таблицы для представлений
-
Генерировать операторы INSERT для таблиц
Выберите этот параметр, если вы добавили какие-либо строки в таблицу. Дополнительную информацию об операциях вставки строк см. в разделе Раздел 8.1.1, «Вкладка SQL-запросы».
Отключить проверки FK при вставках
Создавать триггеры после вставки
Нажатие откроет страницу Фильтр экспорта объектов SQL (см. следующий рисунок), которая позволит выбрать экспортируемые объекты.
Рисунок 9.37 Фильтр экспорта объектов SQL
Используйте кнопку , чтобы уточнить (отфильтровать) объекты для экспорта. После выбора экспортируемых объектов нажмите кнопку , чтобы скрыть панель фильтра.
После выбора объектов для экспорта нажмите , чтобы перейти к просмотру сгенерированного скрипта. На следующем рисунке показан пример скрипта для просмотра.
Рисунок 9.38 Просмотр сгенерированного скрипта
Чтобы вернуться на предыдущую страницу, нажмите кнопку .
Кнопка сохраняет файл скрипта и завершает работу. Затем вы можете использовать сохраненный скрипт для создания базы данных.
9.4.1.1.2 Изменение схемы
Элемент меню для создания файла ALTER-скрипта — это , . Как правило, этот параметр используется, когда SQL-скрипт базы данных был импортирован в MySQL Workbench, изменен, и вы хотите создать скрипт, который можно выполнить в базе данных, чтобы изменить ее в соответствии с измененной моделью. Инструкции по импорту скрипта DDL см. в разделе Раздел 9.4.2.1, «Обратное проектирование с использованием скрипта создания».
Выберите элемент меню , , чтобы запустить мастер. Вам будет представлена первая страница со введением, а затем доступные параметры для настройки источника и назначения обновлений.
Рисунок 9.39 Синхронизировать с любым источником: параметры
Дополнительную информацию см. в разделе Раздел 9.5.1, «Синхронизация баз данных».
© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/workbench-en/wb-forward-engineering-sql-scripts.html