MySQL-ORM
view release on metacpan or search on metacpan
bin/mysql-orm.pl view on Meta::CPAN
#!/usr/bin/env perl
# vim: tabstop=4 expandtab
###### PACKAGES ######
use Modern::Perl;
use Data::Printer alias => 'pdump';
use File::Basename;
use Getopt::Long;
Getopt::Long::Configure('no_ignore_case');
use DBI;
use MySQL::ORM::Generate;
###### CONSTANTS ######
###### GLOBALS ######
use vars qw(
$DbName
$Host
$User
$Pass
$Dir
$Namespace
$Port
$Ignore
$Only
%Dispatch
$Action
$NoFqTableNames
);
%Dispatch = ( generate => \&generate, );
###### MAIN ######
parse_cmd_line();
if ( $Dispatch{$Action} ) {
my $sub = $Dispatch{$Action};
$sub->();
}
else {
die "unknown action: $Action\n";
}
###### END MAIN ######
sub generate {
my %new;
$new{dbh} = get_dbh();
$new{dir} = $Dir if $Dir;
$new{namespace} = $Namespace if $Namespace;
$new{ignore_tables} = parse_csv($Ignore) if $Ignore;
$new{only_tables} = parse_csv($Only) if $Only;
$new{use_fq_table_names} = 0 if $NoFqTableNames;
my $gen = MySQL::ORM::Generate->new(%new);
$gen->generate;
}
sub parse_csv {
my $str = shift;
my @list = split( /,/, $str );
( run in 1.226 second using v1.01-cache-2.11-cpan-437f7b0c052 )