Пример #1
0
 /**
  * Executa todos os migrations do phinx
  *
  * @param InputInterface $input
  * @param OutputInterface $output
  * @return bool|int|null
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $migrations = [];
     //migrations app
     $migrations[] = APPDIR . 'migrations';
     //find migrations extensions
     $migrations_extensions = glob(Util::pathExtension() . '*/app/migrations', GLOB_ONLYDIR);
     $migrations = array_merge($migrations, $migrations_extensions);
     foreach ($migrations as $migration) {
         $migration = str_replace('//', '/', $migration);
         $_SERVER['PHINX_MIGRATION_PATH'] = $migration;
         //init phinx
         $app = new \Phinx\Console\PhinxApplication();
         $wrap = new \Phinx\Wrapper\TextWrapper($app);
         //set parser
         $wrap->setOption('parser', 'php');
         //set config file
         $wrap->setOption('configuration', APPDIR . 'phinx.php');
         // Get the environment and target version parameters.
         $env = ENV;
         //execute migrate
         $output_func = $wrap->getMigrate($env);
         $output->writeln($output_func);
     }
     return true;
 }
Пример #2
0
 /**
  * Instala arquivos gerais da extensao
  * @param $extension
  * @param $output
  */
 private function installGeneralFiles($extension, $output)
 {
     $files = Util::getFiles($extension);
     if (count($files)) {
         $table = new Table($output);
         $table->setHeaders(array('General Files'));
         foreach ($files as $file) {
             $dest = str_replace($extension, Util::pathRoot(), $file);
             $dir = dirname($dest);
             if (!is_dir($dir)) {
                 mkdir($dir, 0755, true);
             }
             if (!file_exists($dest)) {
                 $table->addRow(['<info>' . str_replace(Util::pathExtension(), '', $file) . '</info>']);
             } else {
                 $table->addRow(['<comment>' . str_replace(Util::pathExtension(), '', $file) . '</comment>']);
             }
             @copy($file, $dest);
         }
         $table->render();
     }
 }
Пример #3
0
 /**
  * Remove os arquivos gerais
  * @param $extension
  * @param $output
  */
 private function removeGeneralFiles($extension, $output)
 {
     $files = Util::getFiles($extension);
     if (count($files)) {
         $table = new Table($output);
         $table->setHeaders(array('General Files'));
         foreach ($files as $file) {
             $dest = str_replace($extension, Util::pathRoot(), $file);
             $dir = dirname($dest);
             if (file_exists($dest)) {
                 $table->addRow(['<info>' . str_replace(Util::pathExtension(), '', $file) . '</info>']);
             } else {
                 $table->addRow(['<error>' . str_replace(Util::pathExtension(), '', $file) . '</error>']);
             }
             @unlink($dest);
             //limpa a pasta se estiver vazia
             $dir_status = glob($dir . '/*');
             if (empty($dir_status)) {
                 @rmdir($dir);
             }
         }
         $table->render();
     }
 }