public function getDatabaseMetadata(
        Connection $connection,
        string $databaseName
    ): DatabaseMetadata {
        // Get a list of table names
        $tableNameStatement = $connection
            ->createQueryBuilder()
            ->select([
                'tables.TABLE_NAME AS name'
            ])
            ->from('information_schema.TABLES', 'tables')
            ->where('TABLE_SCHEMA = :schema')
            ->andWhere('TABLE_TYPE = "BASE TABLE"')
            ->setParameter('schema', $databaseName)
            ->execute();

        // Build table metadata
        $tableMetadataList = [];
        while ($tableName = $tableNameStatement->fetchColumn(0)) {
            $tableMetadataList[] = $this->getTableMetadata($connection, $databaseName, $tableName);
        }

        return new DatabaseMetadata($databaseName, $tableMetadataList);
    }
public function getDatabaseMetadata(
        Connection $connection,
        string $databaseName
    ): DatabaseMetadata {
        // Get a list of table names
        $tableNameStatement = $connection
            ->createQueryBuilder()
            ->select([
                'tables.TABLE_NAME AS name'
            ])
            ->from('information_schema.TABLES', 'tables')
            ->where('TABLE_SCHEMA = :schema')
            ->andWhere('TABLE_TYPE = "BASE TABLE"')
            ->setParameter('schema', $databaseName)
            ->execute();

        // Build table metadata
        $tableMetadataList = [];
        while ($tableName = $tableNameStatement->fetchColumn(0)) {
            $tableMetadataList[] = $this->getTableMetadata($connection, $databaseName, $tableName);
        }

        return new DatabaseMetadata($databaseName, $tableMetadataList);
    }
public function getDatabaseMetadata ( Connection $ connection , string $ databaseName ) : DatabaseMetadata { // Get a list of table names $ tableNameStatement = $ connection -> createQueryBuilder ( ) -> select ( [ 'tables.TABLE_NAME AS name' ] ) -> from ( 'information_schema.TABLES' , 'tables' ) -> where ( 'TABLE_SCHEMA = :schema' ) -> andWhere ( 'TABLE_TYPE = "BASE TABLE"' ) -> setParameter ( 'schema' , $ databaseName ) -> execute ( ) ; // Build table metadata $ tableMetadataList = [ ] ; while ( $ tableName = $ tableNameStatement -> fetchColumn ( 0 ) ) { $ tableMetadataList [ ] = $ this -> getTableMetadata ( $ connection , $ databaseName , $ tableName ) ; } return new DatabaseMetadata ( $ databaseName , $ tableMetadataList ) ; }
Query the server and build database metadata DTO.
Query the server and build database metadata DTO .