addArgument('query', InputArgument::REQUIRED, 'A query SQL a ser executada'); } protected function execute(InputInterface $input, OutputInterface $output): int { $query = $input->getArgument('query'); $connection = Capsule::connection(); $output->writeln("Executando query: {$query}"); try { if (stripos($query, 'select') === 0 || stripos($query, 'show') === 0 || stripos($query, 'describe') === 0) { $results = $connection->select($query); if (empty($results)) { $output->writeln('Nenhum resultado encontrado.'); return Command::SUCCESS; } $table = new Table($output); $headers = array_keys((array) $results[0]); $table->setHeaders($headers); foreach ($results as $row) { $table->addRow((array) $row); } $table->render(); $output->writeln("Total de registros: " . count($results) . ""); } else { $affected = $connection->affectingStatement($query); $output->writeln("Query executada com sucesso. Linhas afetadas: {$affected}"); } return Command::SUCCESS; } catch (\Exception $e) { $output->writeln("Erro ao executar query: " . $e->getMessage() . ""); return Command::FAILURE; } } }