variation on yet another 856$9 munger
[migration-tools.git] / mig
diff --git a/mig b/mig
index 42217c5..3d53a6c 100755 (executable)
--- a/mig
+++ b/mig
@@ -67,6 +67,8 @@ Using B<mig> should go something like this:
 
 =item mig gsheet --pull foo_tab_name OR --push foo_pg_table_name 
 
+=item mig stagebibs --file foo.xml 
+
 =back
 
 =head1 COMMANDS
@@ -299,86 +301,9 @@ switch($ARGV[0]) {
             pod2usage(-verbose => 2);
         }
     }
-    case "env" {
-        standard_invocation(@ARGV);
-    }
-    case "init" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "status" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "quick" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "add" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "reporter" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "gsheet" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "remove" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "iconv" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "skip-iconv" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "clean" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "skip-clean" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "link" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "unlink" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "convert" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "stage" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "mapper" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "quicksheet" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
-    case "sql" {
-        Mig::die_if_no_env_migschema();
-        standard_invocation(@ARGV);
-    }
     case "map" {
-        Mig::die_if_no_env_migschema();
     }
     case "load" {
-        Mig::die_if_no_env_migschema();
     }
     case "wdir" {
         print "$MIGWORKDIR\n";
@@ -390,13 +315,20 @@ switch($ARGV[0]) {
         print "$MIGGITDIR\n";
     }
     else {
-        pod2usage(1);
+        standard_invocation(@ARGV);
     }
 }
 
 sub standard_invocation {
     my $cmd = shift;
-    system( $mig_bin . "mig-$cmd", @_ );
+
+    if ($cmd ne 'env') { Mig::die_if_no_env_migschema(); }
+    if (-e $mig_bin . "mig-$cmd") {
+        system( $mig_bin . "mig-$cmd", @_ );
+    } else {
+        system( "mig-$cmd", @_ ) == 0 or die pod2usage(1);
+    }
+
 }