Example #1
0
 public function migrate($argv)
 {
     if (isset($argv[1]) && $argv[1] == "test" || $argv[1] == "production") {
         define("ENV", $argv[1]);
         unset($argv[1]);
     } elseif (isset($argv[1]) && $argv[1] == "directory" && isset($argv[2])) {
         $this->app_setup();
         $migrate = new WXMigrate(true);
         $direction = "up";
         if (isset($argv[3])) {
             $direction = "down";
         }
         $result = $migrate->version_less_migrate($argv[2], $direction, true);
         exit($result . "\n");
     }
     $this->app_setup();
     $dbdir = WAX_ROOT . 'app/db/migrate/';
     if (!is_dir($dbdir)) {
         $command = "mkdir -p {$dbdir}";
         system($command);
     }
     $version = false;
     if (isset($argv[1])) {
         $version = $argv[1];
     }
     $migrate = new WXMigrate();
     if ($version == 'version') {
         $this->add_output("Now at version " . $migrate->get_version());
         return false;
     }
     if ($version == 'clean') {
         $result = $migrate->migrate_revert($dbdir);
         $this->add_output("Database reset to version " . $result);
         return false;
     }
     $result = $migrate->migrate($dbdir, $version);
     if ($result === false) {
         $this->add_output("No Files to migrate");
         return false;
     }
     $this->add_output("-------------------");
     $this->add_output("Successfully migrated to version " . $result);
     $this->add_output("-------------------");
 }