2 ###############################################################################
7 mig-status - This will show tracking information for either the specified files
8 or all tracked files if no argument is given.
10 You'll need to invoke B<mig-init> prior to using commands like B<mig-status>
14 B<mig-status> [file] [...]
18 ###############################################################################
23 HOME PGHOST PGPORT PGUSER PGDATABASE MIGSCHEMA
24 MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
30 my $mig_bin = "$FindBin::Bin/";
31 use lib "$FindBin::Bin/";
34 pod2usage(-verbose => 2) if scalar(@ARGV) > 0 && $ARGV[0] eq '--help';
36 EMig::die_if_no_env_migschema();
37 EMig::die_if_mig_tracking_table_does_not_exist();
40 if (scalar(@files) == 0) {
42 my $dbh = EMig::db_connect();
43 my $sth = $dbh->prepare("
45 FROM $MIGSCHEMA.tracked_file
48 my $rv = $sth->execute()
49 || die "Error retrieving data from table (tracked_file): $!";
50 my $rows = $sth->fetchall_arrayref;
51 for my $row ( @$rows ) {
52 push @files, $row->[0]
55 EMig::db_disconnect($dbh);
58 foreach my $arg (sort @files) {
59 my $file = abs_path($arg);
60 my $data = EMig::status_this_file($file);
74 printf "%-20s:\t", $key;
75 print $data->{$key} ? $data->{$key} : "";
76 if ($key =~ /filename$/ && $data->{$key} && ! -e $data->{$key}) {
77 print " (FILE MISSING)";
85 ###############################################################################