2 ###############################################################################
9 Clear any association between the specified file and a parent table within the
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 ! $ARGV[0] || $ARGV[0] eq '--help';
36 Mig::die_if_no_env_migschema();
37 Mig::die_if_mig_tracking_table_does_not_exist();
39 my $file = abs_path($ARGV[0]);
40 if ($file =~ /^$MIGBASEWORKDIR/) {
43 print "File falls outside of MIGWORKDIR ($MIGWORKDIR): $file\n";
48 ###############################################################################
51 my $file = abs_path(shift);
53 my $tracked_file_id = Mig::check_for_tracked_file($file);
54 if ($tracked_file_id) {
55 my $data = Mig::status_this_file($file);
56 my $table = $data->{'parent_table'} || '';
58 print "unlinking table ($table) from file: $file\n";
60 my $dbh = Mig::db_connect();
62 UPDATE $MIGSCHEMA.tracked_file
64 WHERE base_filename = " . $dbh->quote($file) . "
66 ") || die "Error updating table $MIGSCHEMA.tracked_file: $!\n";
67 Mig::db_disconnect($dbh);
69 print "File not currently tracked: $file\n";