2 ###############################################################################
7 mig-remove - This will remove the specified files from the mig tracking table
9 You'll need to invoke B<mig-init> prior to using commands like B<mig-remove>
13 B<mig-remove> <file> [file] [...]
17 ###############################################################################
22 HOME MYSQL_HOST MYSQL_TCP_PORT MYSQL_USER MYSQL_DATABASE MYSQL_PW
23 MIGSCHEMA MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
29 my $mig_bin = "$FindBin::Bin/";
30 use lib "$FindBin::Bin/";
33 pod2usage(-verbose => 2) if ! $ARGV[0] || $ARGV[0] eq '--help';
35 KMig::die_if_no_env_migschema();
36 KMig::die_if_mig_tracking_table_does_not_exist();
38 foreach my $arg (@ARGV) {
39 my $file = abs_path($arg);
40 if ($file =~ /^$MIGBASEWORKDIR/) {
41 remove_this_file($file);
43 print "File falls outside of MIGWORKDIR ($MIGWORKDIR): $file\n";
49 ###############################################################################
51 sub remove_this_file {
53 my $tracked_file_id = KMig::check_for_tracked_file($file,{'allow_missing'=>1});
54 if ($tracked_file_id) {
55 print "removing tracked file: $file\n";
56 my $dbh = KMig::db_connect();
58 DELETE FROM m_tracked_file WHERE id = $tracked_file_id;
59 ") || die "Error deleting from table m_tracked_file (id = $tracked_file_id): $!\n";
60 KMig::db_disconnect($dbh);
62 print "File not currently tracked: $file\n";