6

मुझे .mwb फ़ाइल में स्थित मॉडल से आगे की इंजीनियरिंग करने के लिए सक्षम करने की आवश्यकता है। यह सब कमांड लाइन से है क्योंकि मैं प्रक्रिया को स्वचालित करना चाहता हूं।एक .mwb फ़ाइल का उपयोग कर कमांड लाइन foward इंजीनियरिंग?

क्या कोई भी कृपया मुझे बता सकता है कि यह संभव है और यदि ऐसा है तो कैसे?

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 विकल्प का उपयोग कर अपने मॉडल लोड कर सकते हैं और फिर एक स्क्रिप्ट है कि आगे इंजीनियरिंग और रन प्रदर्शन करेंगे बनाएँ:

+0

संपादन अपनी पोस्ट नमूना इनपुट, नमूना उम्मीद उत्पादन, वर्तमान कोड, वर्तमान आउटपुट शामिल करने के लिए विचार करें। सौभाग्य। – shellter

+0

हैलो शैल्टर। इनपुट एक '.mwb' फ़ाइल है; आउटपुट एक '.sql' डीडीएल फ़ाइल है। वर्तमान कोड: कोई भी नहीं, क्योंकि मैं दिशा-निर्देश ढूंढ रहा हूं। – balteo

+0

हाय @balteo, क्या आप कभी भी यह काम करने में सक्षम थे? मुझे वर्तमान में एक ही समस्या का सामना करना पड़ रहा है। – Aistina

उत्तर

5

यह कमांड लाइन एक बार आप --help साथ पश्चिम बंगाल फोन में उत्पादन होता है यह --run विकल्प का उपयोग करके और फिर --quit-when-done विकल्प के साथ खत्म हो जाने के बाद बाहर निकलने के लिए WB को निर्देश दें।

स्क्रिप्ट बनाने के साथ-साथ this guide बनाने के बारे में और जानने के लिए आप डब्ल्यूबी सहायता से परामर्श कर सकते हैं।

+0

धन्यवाद बहुत सर्जियो। मैं प्रदान किए गए नमूनों पर एक नज़र डालेगा और अपनी लिपि लिखना शुरू करूंगा। – balteo

3

आप वास्तव में पाइथन (या लुआ) स्क्रिप्ट के साथ इस कार्य को स्वचालित कर सकते हैं - MySQL वर्कबेंच में पहले से ही 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 कमांड लाइन से नहीं चलता है, लेकिन मेरा मानना ​​है कि आप --run-script विकल्प के साथ चला सकते हैं।

+0

यह कमांड लाइन से ठीक काम करता है (मुझे बस डब्लूबी चलाने के लिए एक डमी एक्स-सर्वर की आवश्यकता है) ... * लेकिन * मुझे अपने विचारों में कोई समस्या है। मेरे कुछ विचार अन्य विचारों का उपयोग करते हैं, और स्क्रिप्ट क्रिएशन-ऑर्डरिंग खाता निर्भरताओं में ध्यान देते हैं। दूसरे शब्दों में, यदि मुझे दो दृश्य वीए और वीबी मिलते हैं, और वीबी को कुछ प्रकार से परिभाषित किया गया है जैसे 'कुछ फ़ील्ड से वीए' चुनें, तो मैं ए को देखने से पहले दृश्य बी उत्पन्न करने की कोशिश कर रहा एक एसक्यूएल स्क्रिप्ट के साथ समाप्त हो सकता हूं ... बेशक, एक त्रुटि में परिणाम: 'तालिका' vA 'मौजूद नहीं है' इसे ठीक करने का कोई विचार? – Balmipour

+0

@ बाल्मिपुर, क्षमा करें, अब मैं इस प्रश्न पर लूप से बाहर हूं, विवरण याद नहीं कर सकता। आम तौर पर, यदि आपके पास एक नया सवाल है तो इसे अलग से पूछना बेहतर है। उचित टैगिंग दूसरों को ध्यान देने और इसे हल करने में मदद कर सकती है। – madhead

2

यह प्रश्न बहुत पुराना है, लेकिन मुझे github पर एक प्रोजेक्ट मिला जो इसे cmd विंडोज़ में कमांड के नीचे और here github रिपोजिटरी और अधिक लिनक्स sh फ़ाइल संस्करण बनाता है।

विंडोज

@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