view rhodecode/model/meta.py @ 609:c1c1cf772337

moved out sqlalchemy cache from meta to the config files. added caching query for permissions.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 12 Oct 2010 16:39:53 +0200
parents 342f8434ed14
children 79457e03ef68
line wrap: on
line source

"""SQLAlchemy Metadata and Session object"""
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker
from rhodecode.model import caching_query
from beaker import cache
import os
from os.path import join as jn, dirname as dn, abspath
import time

# Beaker CacheManager.  A home base for cache configurations.
cache_manager = cache.CacheManager()

__all__ = ['Base', 'Session']
#
# SQLAlchemy session manager. Updated by model.init_model()
#
Session = scoped_session(
                sessionmaker(
                    query_cls=caching_query.query_callable(cache_manager)
                )
          )

# The declarative Base
Base = declarative_base()
#For another db...
#Base2 = declarative_base()

#===============================================================================
# CACHE OPTIONS
#===============================================================================
#Configured globally in .ini files
#to use cache use this in query
#.options(FromCache("sqlalchemy_cache_type", "cachekey"))