comparison rhodecode/model/db.py @ 692:cb0d9ce6ac5c beta

#50 on point cache invalidation changes. Created cacheInvalidation table cleaned up sa sessions from models, since it wasn't really needed.
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 15 Nov 2010 02:26:19 +0100
parents e7c670cc03cb
children 26237de9b613
comparison
equal deleted inserted replaced
691:7486da5f0628 692:cb0d9ce6ac5c
88 user = relation('User') 88 user = relation('User')
89 fork = relation('Repository', remote_side=repo_id) 89 fork = relation('Repository', remote_side=repo_id)
90 repo_to_perm = relation('RepoToPerm', cascade='all') 90 repo_to_perm = relation('RepoToPerm', cascade='all')
91 stats = relation('Statistics', cascade='all') 91 stats = relation('Statistics', cascade='all')
92 92
93
94 def __repr__(self): 93 def __repr__(self):
95 return "<Repository('id:%s:%s')>" % (self.repo_id, self.repo_name) 94 return "<Repository('%s:%s')>" % (self.repo_id, self.repo_name)
96 95
97 class Permission(Base): 96 class Permission(Base):
98 __tablename__ = 'permissions' 97 __tablename__ = 'permissions'
99 __table_args__ = {'useexisting':True} 98 __table_args__ = {'useexisting':True}
100 permission_id = Column("permission_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) 99 permission_id = Column("permission_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
138 137
139 repository = relation('Repository', single_parent=True) 138 repository = relation('Repository', single_parent=True)
140 139
141 class CacheInvalidation(Base): 140 class CacheInvalidation(Base):
142 __tablename__ = 'cache_invalidation' 141 __tablename__ = 'cache_invalidation'
143 __table_args__ = {'useexisting':True} 142 __table_args__ = (UniqueConstraint('cache_key'), {'useexisting':True})
144 cache_id = Column("cache_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) 143 cache_id = Column("cache_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
145 cache_key = Column("cache_key", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 144 cache_key = Column("cache_key", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
146 cache_args = Column("cache_args", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 145 cache_args = Column("cache_args", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
147 cache_active = Column("cache_active", BOOLEAN(), nullable=True, unique=None, default=None) 146 cache_active = Column("cache_active", BOOLEAN(), nullable=True, unique=None, default=False)
148 147
149 148
149 def __init__(self, cache_key, cache_args=''):
150 self.cache_key = cache_key
151 self.cache_args = cache_args
152 self.cache_active = False
153
154 def __repr__(self):
155 return "<CacheInvaidation('%s:%s')>" % (self.cache_id, self.cache_key)