def setUpClass(cls): cls.engine = cls.get_engine() maker = scoped_session(sessionmaker( extension=ZopeTransactionExtension() )) maker.configure(bind=cls.engine) db.register_maker(maker=maker) Base.metadata.bind = cls.engine Base.metadata.create_all(cls.engine)
def initialize(settings, **kwargs): create_db = kwargs.get('create_db', settings['app.create_db']) engine = engine_from_config( settings, prefix='sa.', echo=settings['app.echo'] ) maker = scoped_session(sessionmaker( extension=ZopeTransactionExtension() )) maker.configure(bind=engine) db.register_maker(maker) Base.metadata.bind = engine if create_db: logger.info(u"Flag 'app.create_db' is ON. Creating tables ...") Base.metadata.create_all(engine)
return {} if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) config = Configurator() settings = { 'sqlalchemy.url': 'sqlite://' } engine = engine_from_config(settings, prefix='sqlalchemy.') maker = scoped_session(sessionmaker( extension=ZopeTransactionExtension() )) maker.configure(bind=engine) db.register_maker(maker=maker) Base.metadata.bind = engine Base.metadata.create_all(engine) # create two blank models session = db.get_session() for i in range(10000): SuperModel.manager.create() db.commit() config.include('seth') config.register_query_listener(engine, 0) config.register_resource(SampleResource, '/test/') app = config.make_wsgi_app() server = make_server('0.0.0.0', 6543, app)