В настоящее время я изучаю автоматизацию процесса сборки программного обеспечения, который включает схему базы данных, определенную в MySQL Workbench.
Используя возможности сценариев Workbench, я хотел бы открыть документ Workbench и экспортировать его схему в видеСценарий SQL CREATE.
Я хотел бы знать, есть ли функция, которая экспортирует всю схему за один шаг как Файл Workbench's File | Экспорт | Сценарий SQL CREATE прямого инженера , автоматически обрабатывающий любые зависимости между таблицами.
В модуле DbMySQL
я нашел несколько кандидатов, которые может сделать это(generateSQL(GrtNamedObject, dict, string)
и makeSQLExportScript(GrtNamedObject, dict, dict, dict)
), однако меня смущают параметры, которые они ожидают - первым может быть объект схемы, но каковы другие аргументы?
Может кто-нибудь сказать мне, если мое предположениеправильно и / или предоставить мне примеры использования?
До сих пор я придумал ручное решение (обратите внимание, что в настоящее время это не сортирует таблицы в соответствии с их отношениями 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 Script из MySQL Workbench с помощью командной строки? , однако найденный ответ действительно абстрактный и ничего не говорит о фактическом использовании функций сценариев MySQL Workbench.