コード例 #1
0
ファイル: MigrateAction.php プロジェクト: ventoviro/phoenix
 /**
  * Do this execute.
  *
  * @return  mixed
  */
 protected function doExecute()
 {
     $this->io->out('[<comment>SQL</comment>] Running migrations');
     $package = 'gen_' . $this->config['replace.package.name.lower'];
     if (!PackageHelper::getPackage($package)) {
         $packageClass = sprintf('%s%s\\%sPackage', $this->config['replace.package.namespace'], $this->config['replace.package.name.cap'], $this->config['replace.package.name.cap']);
         PackageHelper::getInstance()->addPackage($package, $packageClass);
     }
     $dir = WINDWALKER_SOURCE . '/' . str_replace('\\', '/', MvcHelper::getPackageNamespace($packageClass, 1)) . '/Migration';
     /** @var WindwalkerConsole $app */
     $app = Ioc::getApplication();
     // A dirty work to call migration command.
     /** @var IOInterface $io */
     $io = clone $this->io->getIO();
     $io->setArguments(array('migration', 'migrate'));
     $io->setOption('d', $dir);
     $io->setOption('seed', null);
     $io->setOption('s', null);
     $io->setOption('no-backup', true);
     $app->getRootCommand()->setIO($io)->execute();
 }