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.