Esempio n. 1
0
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
Esempio n. 2
0
    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