protected function execute(InputInterface $input, OutputInterface $output)
 {
     $directory = APP_CWD . '/migrations';
     $migrator = new Migration($directory, new Runner(new JambonMigratorDatastore(), new JambonMigratorSqlDriver()));
     $t1 = microtime(true);
     $migratedFiles = $migrator->run();
     $t2 = microtime(true);
     if (count($migratedFiles)) {
         foreach ($migratedFiles as $path) {
             $output->writeln("<info>Eseguito {$path}</info>");
         }
         $output->writeln("Tutto Finito :)");
         if (!empty($input->getOption('benchmark'))) {
             $ci =& get_instance();
             $time = $t2 - $t1;
             $queries = $ci->db->queries;
             $output->writeln(count($queries) . " query eseguite");
             $output->writeln("ha impiegato {$time} microsecondi");
         } else {
             $output->writeln("Adesso ascolta il brano Migration dei Camel dall'album The Snow Goose (1975):");
             $output->writeln("https://www.youtube.com/watch?v=uOpomameF_o");
             $output->writeln("https://open.spotify.com/track/377mrNmVI8CQtsiDn9gKaY");
         }
     } else {
         $output->writeln("<info>Nessuna migrazione da eseguire</info>");
         $output->writeln("Forse però vorresti ascoltare il brano Migration dei Camel dall'album The Snow Goose (1975):");
         $output->writeln("https://www.youtube.com/watch?v=uOpomameF_o");
         $output->writeln("https://open.spotify.com/track/377mrNmVI8CQtsiDn9gKaY");
     }
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $directory = APP_CWD . '/migrations';
     $filename = $input->getArgument('name');
     $type = $input->getArgument('type');
     $author = $input->getOption('author');
     $description = $input->getOption('description');
     $migrator = new Migration($directory);
     $path = $migrator->create($filename, $type, $author, $description);
     $output->writeln("<info>Creato il file {$path}</info>");
     if (strrpos($path, '.php') !== false) {
         $output->writeln('<comment>Ricordati di lanciare il comando:</comment>');
         $output->writeln('<comment>composer dumpautoload</comment>');
     }
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $directory = CLI_CWD . '/migrations';
     $driver = new JambonMigratorSqlDriver();
     $migrator = new Migration($directory, new Runner(new JambonMigratorDatastore(), new JambonMigratorSqlDriver()));
     $filename = $input->getArgument('filename');
     $t1 = microtime(true);
     $migrator->test($filename);
     $t2 = microtime(true);
     $output->writeln("<info>Test eseguito del file {$filename}</info>");
     if (!empty($input->getOption('benchmark'))) {
         $ci =& get_instance();
         $time = $t2 - $t1;
         $queries = $ci->db->queries;
         $output->writeln(count($queries) . " query eseguite");
         $output->writeln("ha impiegato {$time} secondi");
     }
 }