use FindBin;
my $mig_bin = "$FindBin::Bin/";
use lib "$FindBin::Bin/";
-use Mig;
+use EMig;
my $outtable = '';
my $outfile = '';
my $force;
+my $list;
my $drop;
my $help;
GetOptions(
'outtable=s' => \$outtable,
'outfile=s' => \$outfile,
+ 'list' => \$list,
'force' => \$force,
'drop' => \$drop,
'help|?' => \$help
}
}
-Mig::die_if_no_env_migschema();
-Mig::die_if_mig_tracking_table_does_not_exist();
+EMig::die_if_no_env_migschema();
+EMig::die_if_mig_tracking_table_does_not_exist();
my $workbook;
my @worksheets = ();
}
close_workbook();
} else {
- if (Mig::check_db_migschema_for_specific_table($outtable)) {
+ if (EMig::check_db_migschema_for_specific_table($outtable)) {
drop_existing_outtable();
}
}
sub handle_file {
- my $tracked_file_id = Mig::check_for_tracked_file($file);
+ my $tracked_file_id = EMig::check_for_tracked_file($file);
if ($tracked_file_id) {
- $fdata = Mig::status_this_file($file);
+ $fdata = EMig::status_this_file($file);
} else {
die "File not currently tracked: $file\n";
}
}
}
if ($outtable) {
- if (Mig::check_db_migschema_for_specific_table($outtable)) {
+ if (EMig::check_db_migschema_for_specific_table($outtable)) {
if ($force) {
drop_existing_outtable();
} else {
sub drop_existing_outtable {
# we want a transaction for this one
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
die "Aborting mig-quicksheet\n";
};
- Mig::db_disconnect($dbh);
+ EMig::db_disconnect($dbh);
}
sub create_new_outtable {
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
print "Creating table $MIGSCHEMA.$outtable\n";
my $rv = $dbh->do("
CREATE UNLOGGED TABLE $MIGSCHEMA.$outtable (
summary_table TEXT UNIQUE
);
") || die "Error creating outtable ($MIGSCHEMA.$outtable): $!\n";
- Mig::db_disconnect($dbh);
+ EMig::db_disconnect($dbh);
}
sub create_new_subtable {
my $subtable = shift;
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
die "Aborting mig-quicksheet\n";
};
- Mig::db_disconnect($dbh);
+ EMig::db_disconnect($dbh);
}
sub write_worksheets {
my $tab_name = (scalar(@ARGV) > 1 ? $counter . ') ' : '') . 'Field Summary';
$tab_name = substr($tab_name,0,31); # truncate for WriteExcel
if ($outfile) {
- $first_sheet = $workbook->add_worksheet( $tab_name );
+ $first_sheet = $workbook->add_worksheet( substr($tab_name,0,31) );
$first_sheet->set_column(0,6,30);
}
if ($outtable) {
create_new_subtable( $first_table );
}
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
my $sth = $dbh->prepare("
SELECT COUNT(*)
FROM $MIGSCHEMA.$table
};
}
- handle_list();
+ handle_list() if $list;
handle_columns();
if ($outfile) {
};
}
- Mig::db_disconnect($dbh);
+ EMig::db_disconnect($dbh);
}
sub close_workbook {
###############################################################################
sub handle_list {
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
my $sth = $dbh->prepare("
SELECT *
FROM " . $MIGSCHEMA. "." . $table . "
$has_x_source = 0;
if ($outfile) {
print "Sheet: $table\n";
- $list_sheet = $workbook->add_worksheet( $table );
+ $list_sheet = $workbook->add_worksheet( substr($table,0,31) );
}
my $handle_headers = 1;
}
sub handle_columns {
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
my $sth = $dbh->prepare("
SELECT *
FROM information_schema.columns
}
}
$sth->finish;
- Mig::db_disconnect($dbh);
+ EMig::db_disconnect($dbh);
}
sub column_summary {
my $column = shift;
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
### non_empty_count
my $sth = $dbh->prepare("
sub group_by {
my ($column,$option) = (shift,"GROUP BY 2 ORDER BY 2");
- my $dbh = Mig::db_connect();
+ my $dbh = EMig::db_connect();
my $sth;
my $rv;
}
if ($outfile) {
- $col_sheet = $workbook->add_worksheet( $sheet_name );
+ $col_sheet = $workbook->add_worksheet( substr($sheet_name,0,31) );
push @worksheets, $col_sheet;
$col_sheet->set_column(0,6,30);
$col_sheet->write($col_sheet_row_start + $col_sheet_row_offset,0,'Count',$bold);