docs: def setup_tables(create=True, drop=False):
      """
      Binds the model classes to registered metadata and engine and (potentially) 
      creates the db tables.
  
      This function expects that you have bound the L{meta.metadata} and L{meta.engine}.
  
      @param create: Whether to create the tables (if they do not exist).
      @type create: C{bool}
  
      @param drop: Whether to drop the tables (if they exist).
      @type drop: C{bool}
      """
      global frames_table
      frames_table = Table('frames', meta.metadata,
                           Column('message_id', String(255), primary_key=True),
                           Column('sequence', BigInteger,
                                  primary_key=False, autoincrement=True),
                           Column('destination', String(255), index=True),
                           Column('frame', PickleType),
                           Column('queued', DateTime, default=func.now()))
  
      if drop:
          meta.metadata.drop_all()
  
      if drop or create:
          meta.metadata.create_all()