def get_storm_store(settings, search_index=None, debug=False, auto_create=False): if debug: storm.tracer.debug(True, stream=sys.stdout) store = _get_native_store(settings) dbschema = _get_schema(settings) if dbschema.has_pending_patches(store): if auto_create: dbschema.upgrade(store) else: store.close() raise SchemaUpgradeNeeded() setup_cache(store.cache, settings) return StormStore(store, search_index, settings, debug=debug)
def get_sa_store(settings, search_index=None, debug=False, auto_create=False): engine = create_engine(settings.KITTYSTORE_URL, echo=debug) schema_mgr = SchemaManager(settings, engine, debug) try: schema_mgr.check() except SchemaUpgradeNeeded: if not auto_create: raise schema_mgr.setup_db() Session = sessionmaker(bind=engine) session = Session() cache = make_region() setup_cache(cache, settings) session.cache = cache return SAStore(session, search_index, settings, debug)