मैं वर्तमान में एक-क्लिक बिल्डिंग एन 'इंस्टाल उत्पन्न करने के लिए फ़ाइनलबिल्डर का उपयोग कर रहा हूं, लेकिन मुझे कमांड लाइन से एसक्यूएल स्क्रिप्ट उत्पन्न करने के लिए माईएसQL वर्कबेंच क्षमता की कमी का सामना करना पड़ा।कमांड लाइन का उपयोग कर MySQL वर्कबेंच से SQL स्क्रिप्ट कैसे उत्पन्न करें?
उत्तर
MySQL वर्कबेंच में एक पूर्ण पायथन स्क्रिप्टिंग एपीआई है।
आप अतिरिक्त सुविधाओं की जरूरत है, तो कृपया हमें बताएं: http://forums.mysql.com/index.php?151
- MySQL Workbench
Tnx की चर्चा करते हुए है, हालांकि एक कमांड लाइन है। मैं निश्चित रूप से इस एपीआई की जांच करूँगा। यह निश्चित रूप से एक सीएलआई ऐप रखने के लिए एक शानदार सुविधा होगी, जो एमडब्ल्यूबी फाइलों से एसक्यूएल उत्पन्न कर सकता है। तो डीबी स्कीमा MySQL Workbench GUI का उपयोग कर तैयार किया जा सकता है, और फिर तैनाती प्रक्रिया स्वचालित (विकास के दौरान, मेरा मतलब है) एक क्लिक के डाटाबेस स्कीमा पर सब कुछ कर सकता है। सब कुछ DRY अनुपालन रखते हुए। लेकिन मुझे विश्वास है कि यह सब ऊपर वर्णित पायथन एपीआई के माध्यम से किया जा सकता है। – maraspin
लिंक एपीआई का नेतृत्व नहीं करता है ... –
आप वास्तव में अजगर (या लुआ) के साथ इस कार्य को स्वचालित कर सकते हैं स्क्रिप्ट - 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 कमांड लाइन से नहीं चलता है, लेकिन मेरा मानना है कि आप --run-script
विकल्प के साथ चला सकते हैं।
धन्यवाद! यह मूल रूप से काम करता है (और मैंने आपके उत्तर को [मेरे प्रश्न के उत्तर] (http://stackoverflow.com/a/26914679/419404) में भी शामिल किया है), हालांकि आपकी स्क्रिप्ट में कुछ मामूली त्रुटियां हैं: इसे 'DbMySQLFE' पढ़ना चाहिए .generateSQLCreateStatements (सी, c.version, {}) 'और '+'/ddl.sql''। – Archimedix
कृपया आप क्यों कि एक समस्या है स्पष्ट कर सकते हैं और आप क्या करना चाहते हैं? – Cez
वर्कबेंच की कमांड लाइन क्षमता के बिना, मैं बिल्डिंग ऑपरेशन को स्वचालित कैसे कर सकता हूं? –
आप वर्कबेंच का उपयोग किसके लिए कर रहे हैं? जहां तक मुझे पता है, इसमें कमांड लाइन इंटरफ़ेस नहीं है। – Cez