SQLAlchemy sintaxe declarativa com carregamento automático (reflexão) em Pylons

Eu gostaria de usar o carregamento automático para usar um banco de dados existente. Eu sei como fazê-lo sem sintaxe declarativa (model / _iniciar_.py):

def init_model(engine):
    """Call me before using any of the tables or classes in the model"""
    t_events = Table('events', Base.metadata, schema='events', autoload=True, autoload_with=engine)
    orm.mapper(Event, t_events)

    Session.configure(bind=engine)  

class Event(object):
    pass

Isso funciona bem, mas eu gostaria de usar a sintaxe declarativa:

class Event(Base):
    __tablename__ = 'events'
    __table_args__ = {'schema': 'events', 'autoload': True}

Infelizmente, desta forma eu recebo:

sqlalchemy.exc.UnboundExecutionError: Nenhum mecanismo está vinculado aos MetaDados desta tabela. Passe um mecanismo para a Tabela via autoload_with = <someengine> ou associe os MetaData a um mecanismo via metadata.bind = <someengine>

O problema aqui é que não sei de onde obter o mecanismo (para usá-lo em autoload_with) no estágio de importação do modelo (ele está disponível em init_model ()). Eu tentei adicionar

meta.Base.metadata.bind(engine)

para environment.py, mas não funciona. Alguém encontrou alguma solução elegante?

questionAnswers(3)

yourAnswerToTheQuestion