Build Automation & MySQL Workbench Скрипты: Forward Engineer SQL CREATE SCRIPT

I ' m в настоящее время изучает возможность автоматизации процесса сборки программного обеспечения, который включает схему базы данных, определенную в MySQL Workbench.

Используя возможности Workbench по написанию сценариев, я хотел бы открыть документ Workbench и экспортировать его схему как сценарий SQL CREATE.

Что Я хотел бы знать, существует ли функция, которая экспортирует всю схему за один шаг в виде File | Экспорт | Сценарий CREATE SQL Forward Engineer , автоматически обрабатывающий любые зависимости между таблицами.

Я нашел несколько кандидатов в модуле DbMySQL , которые могут сделать это ( generateSQL (GrtNamedObject, dict, string) и makeSQLExportScript (GrtNamedObject, dict, dict, dict) ), однако я ' m запутались в параметрах, которые они ожидают - первым может быть объект схемы, но каковы другие аргументы?

Может ли кто-нибудь сказать мне, правильно ли мое предположение, и / или предоставить мне примеры использования?

Пока , Я придумал ручное решение (обратите внимание, что в настоящее время это не сортирует таблицы в соответствии с их отношениями FK):

local o = assert(io.open("/tmp/create.sql", "wb"));
foreach_table_all(function (t)
    o:write(DbMySQL:makeCreateScriptForObject(t) .. ";\n\n")
end)
o:close()

Вопрос связан с Как сгенерировать SQL-скрипт из MySQL Workbench с помощью командной строки? , однако найденный там ответ является действительно абстрактным и ничего не говорит о реальном использовании скриптовых функций MySQL Workbench.

10
задан Community 23 May 2017 в 11:45
поделиться