public function getServerMetadata(
        Connection $connection
    ) {
        // Attempt to list databases, ignoring internal databases
        try {
            $statement = $connection->query('SHOW DATABASES WHERE `Database` NOT IN ("information_schema", "performance_schema", "sys", "mysql");');
        } catch (\Throwable $e) {
            throw new \RuntimeException('Failed to list databases: ' . $e->getMessage());
        }

        $databaseMetadataList = [];
        /** @var string $databaseName */
        while ($databaseName = $statement->fetchColumn(0)) {
            $databaseMetadataList[] = $this->getDatabaseMetadata($connection, $databaseName);
        }

        return new ServerMetadata($connection->getHost(), $databaseMetadataList);
    }
public function getServerMetadata(
        Connection $connection
    ) {
        // Attempt to list databases, ignoring internal databases
        try {
            $statement = $connection->query('SHOW DATABASES WHERE `Database` NOT IN ("information_schema", "performance_schema", "sys", "mysql");');
        } catch (\Throwable $e) {
            throw new \RuntimeException('Failed to list databases: ' . $e->getMessage());
        }

        $databaseMetadataList = [];
        /** @var string $databaseName */
        while ($databaseName = $statement->fetchColumn(0)) {
            $databaseMetadataList[] = $this->getDatabaseMetadata($connection, $databaseName);
        }

        return new ServerMetadata($connection->getHost(), $databaseMetadataList);
    }
public function getServerMetadata ( Connection $ connection ) { // Attempt to list databases, ignoring internal databases try { $ statement = $ connection -> query ( 'SHOW DATABASES WHERE `Database` NOT IN ("information_schema", "performance_schema", "sys", "mysql");' ) ; } catch ( \ Throwable $ e ) { throw new \ RuntimeException ( 'Failed to list databases: ' . $ e -> getMessage ( ) ) ; } $ databaseMetadataList = [ ] ; /** @var string $databaseName */ while ( $ databaseName = $ statement -> fetchColumn ( 0 ) ) { $ databaseMetadataList [ ] = $ this -> getDatabaseMetadata ( $ connection , $ databaseName ) ; } return new ServerMetadata ( $ connection -> getHost ( ) , $ databaseMetadataList ) ; }
Query the server and build server metadata DTO.
Query the server and build server metadata DTO .