MySQL Workbench. The Ultimate Guide to DBA Productivity: Writing Plugins and Scripts
130 likes | 161 Vues
Learn how to enhance your productivity with MySQL Workbench through writing plugins and scripts. Explore its architecture, Lua scripting, plugins, and interactive tools for DBAs.
MySQL Workbench. The Ultimate Guide to DBA Productivity: Writing Plugins and Scripts
E N D
Presentation Transcript
MySQL Workbench. The Ultimate Guide to DBA Productivity: Writing Plugins and Scripts Vladimir Kolesnikov Software Engineer, Developer Tools
Session Contents • Workbench General Overview • Workbench Architecture, GRT • [break] • GRT Shell • LUA scripting and Libraries • [break] • GRT LUA Plugins • [break] • GRT C++ Plugins
Workbench General Overview • EER modeling tool • Overview page lists model entities • Canvas is where you visually create and edit your EER models • Use export/import/synchronization tools to interact with live servers or store data in SQL scripts • Use validation tools to check your models • Various utilities for your convenience – printing, export to PDF, PNG… • Cross-platform with native GUIs. Runs on Win 32/64 XP/Vista, with OS X and Linux coming soon
Workbench General Overview • Two Editions – OSS and Standard
Workbench Architecture • Workbench core manages the most essential functions • OS Abstraction • Inter-thread communication and messaging • Graphics • GUI • Generic APIs • GRT (Generic Run-Time) System • Object model, built after the architecture of dynamic languages (such as Objective-C) • Modules and scripting support
Workbench Architecture • Modular Decomposition
Workbench Architecture • Threading & Messaging Model
Workbench Architecture • Modules and Scripting Support
Workbench Architecture • GRT Object Model
GRT Shell • Shell is command line interface to the Workbench internals • Uses LUA for Scripting • Supports single- and multi-line editing modes • Can be used for script debugging • Start using shell • Opening shell: Ctrl-F3 • Getting help: /> ? [subtopic-name] • To enter multi-line mode: Shift-Enter • To launch commands in multi-line mode: Ctrl-Enter
GRT Lua Scripting and Libraries • Why LUA: • Fast • Light-weight • Portable • Easily-embeddable • LUA Standard Libraries Handle All Basic Functions • Runtime support • Strings, numbers, conversions, other utility • Data structure manipulation • Threading
GRT Lua Modules & Plugins • Modules are loaded at Workbench startup and become globally visible • Use predefined source templates • Use Workbench scripting framework to create/edit/manage scripts • Use GRT Shell for debugging your code • You can re-use existing modules from your code
GRT C++ Modules & Plugins • Use C++ for Implementing complex and/or computation-intensive modules • Use Workbench abstractions facilities for implementing platform-independent code • Implementing GUI • Windows: Use Windows Managed/Native Interop services for interfacing with GUI part • Linux: GUI is based GTKmm which is a C++ framework • Mac OS X: You can mix C++ and Objective-C code within the same source to implement COCOA-based GUI