/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $client = $this->option('client');
     if (empty($client)) {
         $this->error('No client specified!');
         exit(1);
     }
     $table = $this->option('table');
     if (empty($table)) {
         $this->error('No table specified!');
         exit(1);
     }
     $pk = $this->option('pk');
     if (empty($pk)) {
         $pk = $table . '_id';
     }
     $prefix = $this->option('file-prefix');
     if (empty($prefix)) {
         $prefix = $client . '-' . $table . '-' . date('YmdHis');
     }
     $this->extractor->configure($client, $table, $pk, $prefix);
     // get and add client ID as fixture data
     $client_id = $this->client_service->getClientId($client);
     $this->extractor->addFixtureData('client_id', $client_id);
     if (!$this->option('quiet')) {
         $progress_bar = $this->output->createProgressBar(100);
         $this->extractor->setProgressBar($progress_bar);
         $this->info('Extracting ' . $table . ' from tools client ' . $client . ' to files at ' . $prefix . '.');
     }
     $this->extractor->extractAll();
     if (!$this->option('quiet')) {
         $this->info("\n");
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $client = $this->option('client');
     if (empty($client)) {
         $this->error('No client specified!');
         exit(1);
     }
     $table = $this->option('table');
     if (empty($table)) {
         $this->error('No table specified!');
         exit(1);
     }
     $pk = $this->option('pk');
     if (empty($pk)) {
         $pk = $table . '_id';
     }
     $conn = $this->client_service->getPdoConnection($client);
     $desc_sth = $conn->query('DESC ' . $table);
     $desc = $desc_sth->fetchAll(PDO::FETCH_ASSOC);
     $ddl = $this->sql_service->stagingTableFromToolsTable($table, $pk, $desc);
     $this->info($ddl);
 }