addArgument('table', InputArgument::REQUIRED, 'O nome da tabela'); } protected function execute(InputInterface $input, OutputInterface $output): int { $tableName = $input->getArgument('table'); $connection = Capsule::connection(); $dbName = $connection->getDatabaseName(); $output->writeln("Chaves Estrangeiras da Tabela: {$tableName}"); try { $query = " SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND REFERENCED_TABLE_NAME IS NOT NULL"; $relationships = $connection->select($query, [$dbName, $tableName]); if (empty($relationships)) { $output->writeln('Nenhuma chave estrangeira encontrada para esta tabela.'); return Command::SUCCESS; } $table = new Table($output); $table->setHeaders(['Coluna', 'Constraint', 'Tabela Referenciada', 'Coluna Referenciada']); foreach ($relationships as $rel) { $table->addRow([ $rel->COLUMN_NAME, $rel->CONSTRAINT_NAME, $rel->REFERENCED_TABLE_NAME, $rel->REFERENCED_COLUMN_NAME ]); } $table->render(); return Command::SUCCESS; } catch (\Exception $e) { $output->writeln("Erro ao buscar relacionamentos: " . $e->getMessage() . ""); return Command::FAILURE; } } }