def db_session(request): # engine = create_engine('sqlite:///test.db') engine = create_engine('sqlite://') Base.metadata.create_all(engine) session = versioned_session(sessionmaker()(bind=engine), MonkeyRevision, HasRevisions) return session
def __init__(self, engine, versioned=True, ignore_soft_deletes=True, namespace_id=None): # TODO: support limiting on namespaces assert engine, "Must set the database engine" args = dict(bind=engine, autoflush=True, autocommit=False) self.ignore_soft_deletes = ignore_soft_deletes if ignore_soft_deletes: args['query_cls'] = InboxQuery sqlalchemy_session = Session(**args) if versioned: from inbox.models import Transaction from inbox.models.transaction import HasRevisions self._session = versioned_session( sqlalchemy_session, Transaction, HasRevisions) else: self._session = sqlalchemy_session