私は現在、MySQLWorkbenchで定義されたデータベーススキーマを含むソフトウェアビルドプロセスの自動化を検討しています。
Workbenchのスクリプト機能を使用して、Workbenchドキュメントを開き、そのスキーマをSQLCREATEスクリプトとしてエクスポートしたいと思います。
私が知りたいのは、スキーマ全体を1つのステップでWorkbenchのファイルとしてエクスポートする関数があるかどうかです。エクスポート| フォワードエンジニアSQLCREATEスクリプト、テーブル間の依存関係を自動的に処理します。
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()
質問は、コマンドラインを使用してMySQLWorkbenchからSQLスクリプトを生成する方法に関連していますか?ただし、そこにある答えは本当に抽象的であり、MySQLWorkbenchのスクリプト機能を実際に使用することについては何も説明していません。