docs: def set_table(self, schema, **kwargs):
          """
          add the table to the db
  
          schema -- Schema() -- contains all the information about the table
          """
          with self.connection(**kwargs) as connection:
              kwargs['connection'] = connection
              if self.has_table(str(schema), **kwargs): return True
  
              try:
                  with self.transaction(**kwargs):
                      self._set_table(schema, **kwargs)
  
                      for index_name, index in schema.indexes.items():
                          self.set_index(
                              schema,
                              name=index.name,
                              fields=index.fields,
                              connection=connection,
                              **index.options
                          )
  
              except InterfaceError:
                  # check to see if this table now exists, it might have been created
                  # in another thread
                  if not self.has_table(schema, **kwargs):
                      raise