MySQL::Workbench::Parser - parse .mwb files created with MySQL Workbench
version 1.10
The MySQL Workbench is a tool to design database entity relationship models. This parser parses .mwb files created with that tool and extracts all relevant information.
Create a new parser object
my $parser = MySQL::Workbench::Parser->new(
file => '/path/to/file.mwb',
);
dump the database structure as YAML
my $yaml = $parser->dump;
get datatype for a workbench column datatype
my $datatype = $table->get_datatype( 'com.mysql.rdbms.mysql.datatype.mediumtext' );
returns the MySQL name of the datatype
MEDIUMTEXT
-
tables
An array of MySQL::Workbench::Parser::Table objects
my @tables = $parser->tables;
-
views
An array of MySQL::Workbench::Parser::View objects
my @views = $parser->views;
-
file
-
datatypes
-
dom
The DOM created by XML::LibXML.
-
lint
If set to false, the linting isn't done (default: true)
The ER model designed with Workbench is checked for:
- duplicate indices
- duplicate table names
- duplicate column names in a table
The distribution is contained in a Git repository, so simply clone the repository
$ git clone git://github.com/reneeb/MySQL-Workbench-Parser.git
and change into the newly-created directory.
$ cd MySQL-Workbench-Parser
The project uses Dist::Zilla
to
build the distribution, hence this will need to be installed before
continuing:
$ cpanm Dist::Zilla
To install the required prequisite packages, run the following set of commands:
$ dzil authordeps --missing | cpanm
$ dzil listdeps --author --missing | cpanm
The distribution can be tested like so:
$ dzil test
To run the full set of tests (including author and release-process tests),
add the --author
and --release
options:
$ dzil test --author --release
Renee Baecker reneeb@cpan.org
This software is Copyright (c) 2018 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)