回答
這是在命令行中,一旦你打電話WB與--help
輸出:
mysql-workbench [<options>] [<model file>]
Options:
--force-sw-render Force Xlib rendering
--force-opengl-render Force OpenGL rendering
--query <connection> Open a query tab to the named connection
--admin <instance> Open a administration tab to the named instance
--model <model file> Open the given EER model file
--script <script file> Execute the given Python or Lua script file
--run <script> Execute the given code in default language for GRT shell
--run-python <script> Execute the given code in Python
--run-lua <script> Execute the given code in Lua
--quit-when-done Quit Workbench when the script is done
--help, -h Show command line options and exit
--log-level=<level> Valid levels are: error, warning, info, debug1, debug2, debug3
--verbose Enable diagnostics output
--version Show Workbench version number and exit
我想你可以使用--model
選項加載你的模型,然後創建將執行正向工程和運行一個腳本它使用--run
選項,然後指示WB在--quit-when-done
選項完成後退出。
您可以諮詢WB幫助瞭解有關創建腳本以及this guide的更多信息。
謝謝塞爾吉奧。我會看看提供的示例並開始編寫我的腳本。 – balteo 2012-03-05 14:47:26
實際上,您可以使用Python(或Lua)腳本自動執行此任務 - MySQL Workbench在Scripting
菜單下已經有一個解釋器。創建一個新的腳本,並使用存根:
# -*- coding: utf-8 -*-
import os
import grt
from grt.modules import DbMySQLFE
c = grt.root.wb.doc.physicalModels[0].catalog
DbMySQLFE.generateSQLCreateStatements(c, c.version, {
'GenerateDrops' : 1,
'GenerateSchemaDrops' : 1,
'OmitSchemata' : 1,
'GenerateUse' : 1
})
DbMySQLFE.generateSQLCreateStatements(c, c.version, {
DbMySQLFE.createScriptForCatalogObjects(os.path.dirname(grt.root.wb.docPath) + 'ddl.sql', c, {})
它不actully運行命令行,但我beleive你可以--run-script
選項運行它。
它從命令行工作正常(我只需要一個虛擬的X服務器來運行WB)...... *但*我的意見有問題。 我的一些視圖使用其他視圖,並且腳本創建順序確實需要考慮依賴關係。 換句話說,如果我得到了兩個視圖vA和vB,並且vB被定義爲'select somefield FROM vA',我可能會以一個sql腳本結束,試圖在視圖A之前生成視圖B ...當然,導致一個錯誤:'表'vA'不存在' 任何想法解決這個問題? – Balmipour 2016-04-27 12:02:57
@Balmipour,對不起,我現在不在這個問題的循環中,無法回憶細節。一般來說,如果您有新的問題,最好單獨提問。適當的標籤可以幫助他人注意並解決問題。 – madhead 2016-04-27 12:31:18
這個問題太舊了,但是我在github上發現了一個項目,它在cmd窗口下面的命令下,以及github版本庫和更多的linux sh文件版本。
的Windows
@echo off
REM generate sql from mwb
REM usage: mwb2sql.bat {.mwb file} {output file}
SET WORKBENCH="C:\Program Files (x86)\MySQL\MySQL Workbench 6.0 CE\MySQLWorkbench.exe"
SET OUTPUT=%~f2
%WORKBENCH%^
-open %~f1^
-run-python "import os;import grt;from grt.modules import DbMySQLFE as fe;c = grt.root.wb.doc.physicalModels[0].catalog;fe.generateSQLCreateStatements(c, c.version, {});fe.createScriptForCatalogObjects(os.getenv('OUTPUT'), c, {})"^
-quit-when-done
- 1. 使用命令行將當前工作路徑寫入文件
- 2. BOUML命令行反向工程
- 3. 打開文件的I/O和使用命令行重定向
- 4. 使用命令行執行.sql文件
- 5. 文件轉換 - .mwb到.sql文件
- 6. 無法使用SOURCE命令運行sql文件windows命令行
- 7. 使用命令行檢查刪除文件/重命名文件/移動文件到TFS使用命令行
- 8. 如何使用MySQL命令行工具執行SQL文件?
- 9. 命令行相當於Hibernate工具中的反向工程?
- 10. 如何刪除前綴爲使用Windows命令行文件
- 11. 使用jQuery彈出文件選擇之前運行命令
- 12. 從命令行向文件追加文本而不使用io重定向
- 13. 使用命令行修剪csv文件
- 14. 使用命令行取文件
- 15. IExpress命令行不使用.SED文件
- 16. 使用Linux命令行更新文件
- 17. 使用命令行打開文件
- 18. 使用命令行打開文件
- 19. 使用命令行輸出到文件
- 20. 使用命令行提取Nupkg文件
- 21. 使用命令行評估PHP文件
- 22. 使用Windows命令行連接文本文件,刪除前導行
- 23. 用Vim命令打開當前文件
- 24. 使用XCode 5的命令行工具
- 25. 如何通過命令行向文本文件寫入文件?
- 26. 使用命令行參數從bat文件運行exe文件
- 27. 使用Ruby調用命令行工具
- 28. AWS:命令在命令行中工作,但不是PHP的可執行文件
- 29. Bash - 使用文本文件中的行運行命令
- 30. 批處理文件/命令通過命令行啓動程序
考慮編輯您的文章,包括樣本輸入,採樣預期的輸出,電流代碼,電流輸出。祝你好運。 – shellter 2012-03-04 22:52:51
Hello Shellter。輸入是一個'.mwb'文件;輸出是'.sql' DDL文件。目前的代碼:沒有,因爲我正在尋找方向。 – balteo 2012-03-05 07:56:27
嗨@balteo,你是否能夠得到這個工作?我目前面臨同樣的問題。 – Aistina 2012-10-18 08:37:40