code: def build_schema_info(connection_alias):
      connection = get_valid_connection(connection_alias)
      ret = []
      with connection.cursor() as cursor:
          tables_to_introspect = connection.introspection.table_names(cursor, include_views=_include_views())
          for table_name in tables_to_introspect:
              if not _include_table(table_name):
                  continue
              td = []
              table_description = connection.introspection.get_table_description(cursor, table_name)
              for row in table_description:
                  column_name = row[0]
                  try:
                      field_type = connection.introspection.get_field_type(row[1], row)
                  except KeyError as e:
                      field_type = 'Unknown'
                  td.append((column_name, field_type))
              ret.append((table_name, td))
      return ret