paultcochrane / MySQL-Workbench-Parser

Parse .mwb files created with MySQL workbench tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Kwalitee status GitHub issues

NAME

MySQL::Workbench::Parser - parse .mwb files created with MySQL Workbench

VERSION

version 1.10

SYNOPSIS

DESCRIPTION

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.

METHODS

new

Create a new parser object

my $parser = MySQL::Workbench::Parser->new(
    file => '/path/to/file.mwb',
);

dump

dump the database structure as YAML

my $yaml = $parser->dump;

get_datatype

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

ATTRIBUTES

WARNINGS

The ER model designed with Workbench is checked for:

  • duplicate indices
  • duplicate table names
  • duplicate column names in a table

Development

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

AUTHOR

Renee Baecker reneeb@cpan.org

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Renee Baecker.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

About

Parse .mwb files created with MySQL workbench tool.


Languages

Language:Perl 100.0%