【发布时间】:2011-04-27 10:20:37
【问题描述】:
我目前正在研究自动化软件构建过程,其中包括在 MySQL Workbench 中定义的数据库模式。
使用 Workbench 的脚本功能,我想打开一个 Workbench 文档并将其架构导出为 SQL CREATE 脚本。
我想知道的是,是否有一个函数可以一步将整个架构导出为 Workbench 的 文件 | 导出 | Forward Engineer SQL CREATE Script,自动处理表之间的任何依赖关系。
我在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()
这个问题与How to generate SQL Script from MySQL Workbench using Command Line?有关,但是那里找到的答案非常抽象,并没有说明实际使用MySQL Workbench的脚本功能。
【问题讨论】:
标签: scripting lua build-automation mysql-workbench