change to the data directly automatically with mig env use
[migration-tools.git] / mig-bin / Mig.pm
diff --git a/mig-bin/Mig.pm b/mig-bin/Mig.pm
deleted file mode 100644 (file)
index 6600cfd..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-package Mig;
-
-use strict;
-use Exporter;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-$VERSION        = 1.00;
-@ISA            = qw(Exporter);
-@EXPORT         = ();
-@EXPORT_OK      = qw();
-%EXPORT_TAGS    = (
-                     DEFAULT => []
-);
-
-use DBI;
-use Env qw(
-    HOME PGHOST PGPORT PGUSER PGDATABASE MIGSCHEMA
-    MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
-);
-
-sub db_connect {
-    my $dbh = DBI->connect(
-         "dbi:Pg:host=$PGHOST;dbname=$PGDATABASE;port=$PGPORT"
-        ,$PGUSER
-        ,undef
-    ) || die "Unable to connect to $PGHOST:$PGPORT:$PGDATABASE:$PGUSER : $!\n";
-    return $dbh;
-}
-sub db_disconnect {
-    my $dbh = shift;
-    $dbh->disconnect;
-}
-
-sub sql {
-    my $sql = shift;
-    chomp $sql;
-    $sql =~ s/\n//g;
-    print "\n$sql\n";
-    return $sql;
-}
-
-sub die_if_no_env_migschema {
-    die "MIGSCHEMA environment variable not set.  See 'mig env help'\n"
-        unless $MIGSCHEMA;
-}
-
-sub check_for_db_migschema {
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT EXISTS(
-            SELECT 1
-            FROM pg_namespace 
-            WHERE nspname = ?
-        );"
-    );
-    my $rv = $sth->execute($MIGSCHEMA)
-        || die "Error checking for migration schema ($MIGSCHEMA): $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    my $found;
-    if ($cols[0]) {
-        print "Found migration schema ($MIGSCHEMA) at $PGHOST:$PGPORT:$PGDATABASE:$PGUSER\n";
-        $found = 1;
-    } else {
-        print "Migration schema ($MIGSCHEMA) does not exist at $PGHOST:$PGPORT:$PGDATABASE:$PGUSER\n";
-        $found = 0;
-    }
-    db_disconnect($dbh);
-    return $found;
-}
-
-sub check_db_migschema_for_migration_tables {
-    my $found = check_db_migschema_for_specific_table('asset_copy');
-    if (!$found) {
-        print "Missing migration tables (such as $MIGSCHEMA.asset_copy)\n";
-    }
-    return $found;
-}
-
-sub check_db_migschema_for_specific_table {
-    my $table = shift;
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT EXISTS(
-            SELECT 1
-            FROM information_schema.tables
-            WHERE table_schema = " . $dbh->quote( $MIGSCHEMA ) . "
-            AND table_name = " . $dbh->quote( $table ) . "
-        );"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking migration schema ($MIGSCHEMA) for table ($table): $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    my $found;
-    if ($cols[0]) {
-        $found = 1;
-    } else {
-        $found = 0;
-    }
-    db_disconnect($dbh);
-    return $found;
-}
-
-sub check_for_migration_tools {
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT EXISTS(
-            SELECT 1
-            FROM pg_namespace
-            WHERE nspname = 'migration_tools'
-        );"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking for migration_tools schema: $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $cols[0];
-}
-
-sub die_if_no_migration_tools {
-    if (check_for_migration_tools()) {
-        print "Found migration_tools schema\n";
-    } else {
-        die "Missing migration_tools schema\n";
-    }
-}
-
-sub check_for_mig_tracking_table {
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT EXISTS(
-            SELECT 1
-            FROM information_schema.tables
-            WHERE table_schema = " . $dbh->quote( $MIGSCHEMA ) . "
-            AND table_name = 'tracked_file'
-        );"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking for table (tracked_file): $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $cols[0];
-}
-
-sub die_if_mig_tracking_table_exists {
-    if (check_for_mig_tracking_table()) {
-        die "Table $MIGSCHEMA.tracked_file already exists.  Bailing init...\n";
-    }
-}
-
-sub die_if_mig_tracking_table_does_not_exist {
-    if (!check_for_mig_tracking_table()) {
-        die "Table $MIGSCHEMA.tracked_file does not exist.  Bailing...\n";
-    }
-}
-
-sub check_for_mig_column_tracking_table {
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT EXISTS(
-            SELECT 1
-            FROM information_schema.tables
-            WHERE table_schema = " . $dbh->quote( $MIGSCHEMA ) . "
-            AND table_name = 'tracked_column'
-        );"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking for table (tracked_column): $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $cols[0];
-}
-
-sub die_if_mig_column_tracking_table_exists {
-    if (check_for_mig_column_tracking_table()) {
-        die "Table $MIGSCHEMA.tracked_column already exists.  Bailing init...\n";
-    }
-}
-
-sub die_if_mig_column_tracking_table_does_not_exist {
-    if (!check_for_mig_column_tracking_table()) {
-        die "Table $MIGSCHEMA.tracked_column does not exist.  Bailing...\n";
-    }
-}
-
-sub check_for_tracked_file {
-    my $file = shift;
-    my $options = shift;
-    if (! -e $file) {
-        die "file not found: $file\n" unless $options && $options->{'allow_missing'};
-    }
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT id
-        FROM $MIGSCHEMA.tracked_file
-        WHERE base_filename = " . $dbh->quote( $file ) . ";"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking table (tracked_file) for base_filename ($file): $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $cols[0];
-}
-
-sub check_for_tracked_column {
-    my ($table,$column,$options) = (shift,shift,shift);
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT id
-        FROM $MIGSCHEMA.tracked_column
-        WHERE staged_table = " . $dbh->quote( $table ) . "
-        AND staged_column = " . $dbh->quote( $column ) . ";"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking table (tracked_column) for $table.$column: $!";
-    my @cols = $sth->fetchrow_array;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $cols[0];
-}
-
-sub status_this_file {
-    my $file = shift;
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT *
-        FROM $MIGSCHEMA.tracked_file
-        WHERE base_filename = " . $dbh->quote( $file ) . ";"
-    );
-    my $rv = $sth->execute()
-        || die "Error retrieving data from table (tracked_file) for base_filename ($file): $!";
-    my $data = $sth->fetchrow_hashref;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $data;
-}
-
-sub status_this_column {
-    my ($table,$column) = (shift,shift);
-    my $dbh = db_connect();
-    my $sth = $dbh->prepare("
-        SELECT *
-        FROM $MIGSCHEMA.tracked_column
-        WHERE staged_table = " . $dbh->quote( $table ) . "
-        AND staged_column = " . $dbh->quote( $column ) . ";"
-    );
-    my $rv = $sth->execute()
-        || die "Error checking table (tracked_column) for $table.$column: $!";
-    my $data = $sth->fetchrow_hashref;
-    $sth->finish;
-    db_disconnect($dbh);
-    return $data;
-}
-
-1;
-