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 )