Mercurial > kallithea
comparison rhodecode/model/db.py @ 1065:5d676b6ab71c beta
Moved BaseModel into base class for declarative base. Added some handy methods into
BaseModel like get() and query()
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 19 Feb 2011 01:06:47 +0100 |
parents | 51b70569c330 |
children | 70bf0be59653 |
comparison
equal
deleted
inserted
replaced
1064:113a8db22852 | 1065:5d676b6ab71c |
---|---|
28 import datetime | 28 import datetime |
29 from datetime import date | 29 from datetime import date |
30 | 30 |
31 from sqlalchemy import * | 31 from sqlalchemy import * |
32 from sqlalchemy.exc import DatabaseError | 32 from sqlalchemy.exc import DatabaseError |
33 from sqlalchemy.orm import relationship, backref, class_mapper | 33 from sqlalchemy.orm import relationship, backref |
34 from sqlalchemy.orm.session import Session | 34 from sqlalchemy.orm.session import Session |
35 | 35 |
36 from rhodecode.model.meta import Base | 36 from rhodecode.model.meta import Base |
37 | 37 |
38 log = logging.getLogger(__name__) | 38 log = logging.getLogger(__name__) |
39 | 39 |
40 class BaseModel(object): | 40 class RhodeCodeSettings(Base): |
41 | |
42 @classmethod | |
43 def _get_keys(cls): | |
44 """return column names for this model """ | |
45 return class_mapper(cls).c.keys() | |
46 | |
47 def get_dict(self): | |
48 """return dict with keys and values corresponding | |
49 to this model data """ | |
50 | |
51 d = {} | |
52 for k in self._get_keys(): | |
53 d[k] = getattr(self, k) | |
54 return d | |
55 | |
56 def get_appstruct(self): | |
57 """return list with keys and values tupples corresponding | |
58 to this model data """ | |
59 | |
60 l = [] | |
61 for k in self._get_keys(): | |
62 l.append((k, getattr(self, k),)) | |
63 return l | |
64 | |
65 def populate_obj(self, populate_dict): | |
66 """populate model with data from given populate_dict""" | |
67 | |
68 for k in self._get_keys(): | |
69 if k in populate_dict: | |
70 setattr(self, k, populate_dict[k]) | |
71 | |
72 class RhodeCodeSettings(Base, BaseModel): | |
73 __tablename__ = 'rhodecode_settings' | 41 __tablename__ = 'rhodecode_settings' |
74 __table_args__ = (UniqueConstraint('app_settings_name'), {'useexisting':True}) | 42 __table_args__ = (UniqueConstraint('app_settings_name'), {'useexisting':True}) |
75 app_settings_id = Column("app_settings_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 43 app_settings_id = Column("app_settings_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
76 app_settings_name = Column("app_settings_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 44 app_settings_name = Column("app_settings_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
77 app_settings_value = Column("app_settings_value", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 45 app_settings_value = Column("app_settings_value", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
82 | 50 |
83 def __repr__(self): | 51 def __repr__(self): |
84 return "<%s('%s:%s')>" % (self.__class__.__name__, | 52 return "<%s('%s:%s')>" % (self.__class__.__name__, |
85 self.app_settings_name, self.app_settings_value) | 53 self.app_settings_name, self.app_settings_value) |
86 | 54 |
87 class RhodeCodeUi(Base, BaseModel): | 55 class RhodeCodeUi(Base): |
88 __tablename__ = 'rhodecode_ui' | 56 __tablename__ = 'rhodecode_ui' |
89 __table_args__ = {'useexisting':True} | 57 __table_args__ = {'useexisting':True} |
90 ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 58 ui_id = Column("ui_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
91 ui_section = Column("ui_section", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 59 ui_section = Column("ui_section", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
92 ui_key = Column("ui_key", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 60 ui_key = Column("ui_key", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
93 ui_value = Column("ui_value", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 61 ui_value = Column("ui_value", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
94 ui_active = Column("ui_active", Boolean(), nullable=True, unique=None, default=True) | 62 ui_active = Column("ui_active", Boolean(), nullable=True, unique=None, default=True) |
95 | 63 |
96 | 64 |
97 class User(Base, BaseModel): | 65 class User(Base): |
98 __tablename__ = 'users' | 66 __tablename__ = 'users' |
99 __table_args__ = (UniqueConstraint('username'), UniqueConstraint('email'), {'useexisting':True}) | 67 __table_args__ = (UniqueConstraint('username'), UniqueConstraint('email'), {'useexisting':True}) |
100 user_id = Column("user_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 68 user_id = Column("user_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
101 username = Column("username", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 69 username = Column("username", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
102 password = Column("password", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 70 password = Column("password", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
113 | 81 |
114 repositories = relationship('Repository') | 82 repositories = relationship('Repository') |
115 user_followers = relationship('UserFollowing', primaryjoin='UserFollowing.follows_user_id==User.user_id', cascade='all') | 83 user_followers = relationship('UserFollowing', primaryjoin='UserFollowing.follows_user_id==User.user_id', cascade='all') |
116 | 84 |
117 group_member = relationship('UsersGroupMember', cascade='all') | 85 group_member = relationship('UsersGroupMember', cascade='all') |
86 | |
118 @property | 87 @property |
119 def full_contact(self): | 88 def full_contact(self): |
120 return '%s %s <%s>' % (self.name, self.lastname, self.email) | 89 return '%s %s <%s>' % (self.name, self.lastname, self.email) |
121 | 90 |
122 | |
123 @property | 91 @property |
124 def is_admin(self): | 92 def is_admin(self): |
125 return self.admin | 93 return self.admin |
126 | 94 |
127 def __repr__(self): | 95 def __repr__(self): |
128 return "<%s('id:%s:%s')>" % (self.__class__.__name__, | 96 return "<%s('id:%s:%s')>" % (self.__class__.__name__, |
129 self.user_id, self.username) | 97 self.user_id, self.username) |
98 | |
99 @classmethod | |
100 def by_username(cls, username): | |
101 return Session.query(cls).filter(cls.username == username).one() | |
102 | |
130 | 103 |
131 def update_lastlogin(self): | 104 def update_lastlogin(self): |
132 """Update user lastlogin""" | 105 """Update user lastlogin""" |
133 | 106 |
134 try: | 107 try: |
139 log.debug('updated user %s lastlogin', self.username) | 112 log.debug('updated user %s lastlogin', self.username) |
140 except (DatabaseError,): | 113 except (DatabaseError,): |
141 session.rollback() | 114 session.rollback() |
142 | 115 |
143 | 116 |
144 class UserLog(Base, BaseModel): | 117 class UserLog(Base): |
145 __tablename__ = 'user_logs' | 118 __tablename__ = 'user_logs' |
146 __table_args__ = {'useexisting':True} | 119 __table_args__ = {'useexisting':True} |
147 user_log_id = Column("user_log_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 120 user_log_id = Column("user_log_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
148 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) | 121 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) |
149 repository_id = Column("repository_id", Integer(length=None, convert_unicode=False, assert_unicode=None), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) | 122 repository_id = Column("repository_id", Integer(length=None, convert_unicode=False, assert_unicode=None), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) |
158 | 131 |
159 user = relationship('User') | 132 user = relationship('User') |
160 repository = relationship('Repository') | 133 repository = relationship('Repository') |
161 | 134 |
162 | 135 |
163 class UsersGroup(Base, BaseModel): | 136 class UsersGroup(Base): |
164 __tablename__ = 'users_groups' | 137 __tablename__ = 'users_groups' |
165 __table_args__ = {'useexisting':True} | 138 __table_args__ = {'useexisting':True} |
166 | 139 |
167 users_group_id = Column("users_group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 140 users_group_id = Column("users_group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
168 users_group_name = Column("users_group_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | 141 users_group_name = Column("users_group_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) |
169 users_group_active = Column("users_group_active", Boolean(), nullable=True, unique=None, default=None) | 142 users_group_active = Column("users_group_active", Boolean(), nullable=True, unique=None, default=None) |
170 | 143 |
171 members = relationship('UsersGroupMember', cascade="all, delete, delete-orphan", lazy="joined") | 144 members = relationship('UsersGroupMember', cascade="all, delete, delete-orphan", lazy="joined") |
172 | 145 |
173 class UsersGroupMember(Base, BaseModel): | 146 class UsersGroupMember(Base): |
174 __tablename__ = 'users_groups_members' | 147 __tablename__ = 'users_groups_members' |
175 __table_args__ = {'useexisting':True} | 148 __table_args__ = {'useexisting':True} |
176 | 149 |
177 users_group_member_id = Column("users_group_member_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 150 users_group_member_id = Column("users_group_member_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
178 users_group_id = Column("users_group_id", Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) | 151 users_group_id = Column("users_group_id", Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) |
183 | 156 |
184 def __init__(self, gr_id='', u_id=''): | 157 def __init__(self, gr_id='', u_id=''): |
185 self.users_group_id = gr_id | 158 self.users_group_id = gr_id |
186 self.user_id = u_id | 159 self.user_id = u_id |
187 | 160 |
188 class Repository(Base, BaseModel): | 161 class Repository(Base): |
189 __tablename__ = 'repositories' | 162 __tablename__ = 'repositories' |
190 __table_args__ = (UniqueConstraint('repo_name'), {'useexisting':True},) | 163 __table_args__ = (UniqueConstraint('repo_name'), {'useexisting':True},) |
191 repo_id = Column("repo_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 164 repo_id = Column("repo_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
192 repo_name = Column("repo_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | 165 repo_name = Column("repo_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) |
193 repo_type = Column("repo_type", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default='hg') | 166 repo_type = Column("repo_type", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default='hg') |
212 | 185 |
213 def __repr__(self): | 186 def __repr__(self): |
214 return "<%s('%s:%s')>" % (self.__class__.__name__, | 187 return "<%s('%s:%s')>" % (self.__class__.__name__, |
215 self.repo_id, self.repo_name) | 188 self.repo_id, self.repo_name) |
216 | 189 |
217 class Group(Base, BaseModel): | 190 @classmethod |
191 def by_repo_name(cls, repo_name): | |
192 return Session.query(cls).filter(cls.repo_name == repo_name).one() | |
193 | |
194 | |
195 class Group(Base): | |
218 __tablename__ = 'groups' | 196 __tablename__ = 'groups' |
219 __table_args__ = (UniqueConstraint('group_name'), {'useexisting':True},) | 197 __table_args__ = (UniqueConstraint('group_name'), {'useexisting':True},) |
220 | 198 |
221 group_id = Column("group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 199 group_id = Column("group_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
222 group_name = Column("group_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) | 200 group_name = Column("group_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) |
231 | 209 |
232 def __repr__(self): | 210 def __repr__(self): |
233 return "<%s('%s:%s')>" % (self.__class__.__name__, self.group_id, | 211 return "<%s('%s:%s')>" % (self.__class__.__name__, self.group_id, |
234 self.group_name) | 212 self.group_name) |
235 | 213 |
236 class Permission(Base, BaseModel): | 214 class Permission(Base): |
237 __tablename__ = 'permissions' | 215 __tablename__ = 'permissions' |
238 __table_args__ = {'useexisting':True} | 216 __table_args__ = {'useexisting':True} |
239 permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 217 permission_id = Column("permission_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
240 permission_name = Column("permission_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 218 permission_name = Column("permission_name", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
241 permission_longname = Column("permission_longname", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 219 permission_longname = Column("permission_longname", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
242 | 220 |
243 def __repr__(self): | 221 def __repr__(self): |
244 return "<%s('%s:%s')>" % (self.__class__.__name__, | 222 return "<%s('%s:%s')>" % (self.__class__.__name__, |
245 self.permission_id, self.permission_name) | 223 self.permission_id, self.permission_name) |
246 | 224 |
247 class RepoToPerm(Base, BaseModel): | 225 class RepoToPerm(Base): |
248 __tablename__ = 'repo_to_perm' | 226 __tablename__ = 'repo_to_perm' |
249 __table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True}) | 227 __table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True}) |
250 repo_to_perm_id = Column("repo_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 228 repo_to_perm_id = Column("repo_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
251 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) | 229 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) |
252 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) | 230 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) |
254 | 232 |
255 user = relationship('User') | 233 user = relationship('User') |
256 permission = relationship('Permission') | 234 permission = relationship('Permission') |
257 repository = relationship('Repository') | 235 repository = relationship('Repository') |
258 | 236 |
259 class UserToPerm(Base, BaseModel): | 237 class UserToPerm(Base): |
260 __tablename__ = 'user_to_perm' | 238 __tablename__ = 'user_to_perm' |
261 __table_args__ = (UniqueConstraint('user_id', 'permission_id'), {'useexisting':True}) | 239 __table_args__ = (UniqueConstraint('user_id', 'permission_id'), {'useexisting':True}) |
262 user_to_perm_id = Column("user_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 240 user_to_perm_id = Column("user_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
263 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) | 241 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) |
264 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) | 242 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) |
265 | 243 |
266 user = relationship('User') | 244 user = relationship('User') |
267 permission = relationship('Permission') | 245 permission = relationship('Permission') |
268 | 246 |
269 | 247 |
270 class UsersGroupToPerm(Base, BaseModel): | 248 class UsersGroupToPerm(Base): |
271 __tablename__ = 'users_group_to_perm' | 249 __tablename__ = 'users_group_to_perm' |
272 __table_args__ = (UniqueConstraint('users_group_id', 'permission_id'), {'useexisting':True}) | 250 __table_args__ = (UniqueConstraint('users_group_id', 'permission_id'), {'useexisting':True}) |
273 users_group_to_perm_id = Column("users_group_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 251 users_group_to_perm_id = Column("users_group_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
274 users_group_id = Column("users_group_id", Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) | 252 users_group_id = Column("users_group_id", Integer(), ForeignKey('users_groups.users_group_id'), nullable=False, unique=None, default=None) |
275 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) | 253 permission_id = Column("permission_id", Integer(), ForeignKey('permissions.permission_id'), nullable=False, unique=None, default=None) |
277 | 255 |
278 users_group = relationship('UsersGroup') | 256 users_group = relationship('UsersGroup') |
279 permission = relationship('Permission') | 257 permission = relationship('Permission') |
280 repository = relationship('Repository') | 258 repository = relationship('Repository') |
281 | 259 |
282 class GroupToPerm(Base, BaseModel): | 260 class GroupToPerm(Base): |
283 __tablename__ = 'group_to_perm' | 261 __tablename__ = 'group_to_perm' |
284 __table_args__ = (UniqueConstraint('group_id', 'permission_id'), {'useexisting':True}) | 262 __table_args__ = (UniqueConstraint('group_id', 'permission_id'), {'useexisting':True}) |
285 | 263 |
286 group_to_perm_id = Column("group_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 264 group_to_perm_id = Column("group_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
287 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) | 265 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) |
290 | 268 |
291 user = relationship('User') | 269 user = relationship('User') |
292 permission = relationship('Permission') | 270 permission = relationship('Permission') |
293 group = relationship('Group') | 271 group = relationship('Group') |
294 | 272 |
295 class Statistics(Base, BaseModel): | 273 class Statistics(Base): |
296 __tablename__ = 'statistics' | 274 __tablename__ = 'statistics' |
297 __table_args__ = (UniqueConstraint('repository_id'), {'useexisting':True}) | 275 __table_args__ = (UniqueConstraint('repository_id'), {'useexisting':True}) |
298 stat_id = Column("stat_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 276 stat_id = Column("stat_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
299 repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=True, default=None) | 277 repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=True, default=None) |
300 stat_on_revision = Column("stat_on_revision", Integer(), nullable=False) | 278 stat_on_revision = Column("stat_on_revision", Integer(), nullable=False) |
302 commit_activity_combined = Column("commit_activity_combined", LargeBinary(), nullable=False)#JSON data | 280 commit_activity_combined = Column("commit_activity_combined", LargeBinary(), nullable=False)#JSON data |
303 languages = Column("languages", LargeBinary(), nullable=False)#JSON data | 281 languages = Column("languages", LargeBinary(), nullable=False)#JSON data |
304 | 282 |
305 repository = relationship('Repository', single_parent=True) | 283 repository = relationship('Repository', single_parent=True) |
306 | 284 |
307 class UserFollowing(Base, BaseModel): | 285 class UserFollowing(Base): |
308 __tablename__ = 'user_followings' | 286 __tablename__ = 'user_followings' |
309 __table_args__ = (UniqueConstraint('user_id', 'follows_repository_id'), | 287 __table_args__ = (UniqueConstraint('user_id', 'follows_repository_id'), |
310 UniqueConstraint('user_id', 'follows_user_id') | 288 UniqueConstraint('user_id', 'follows_user_id') |
311 , {'useexisting':True}) | 289 , {'useexisting':True}) |
312 | 290 |
318 user = relationship('User', primaryjoin='User.user_id==UserFollowing.user_id') | 296 user = relationship('User', primaryjoin='User.user_id==UserFollowing.user_id') |
319 | 297 |
320 follows_user = relationship('User', primaryjoin='User.user_id==UserFollowing.follows_user_id') | 298 follows_user = relationship('User', primaryjoin='User.user_id==UserFollowing.follows_user_id') |
321 follows_repository = relationship('Repository', order_by='Repository.repo_name') | 299 follows_repository = relationship('Repository', order_by='Repository.repo_name') |
322 | 300 |
323 class CacheInvalidation(Base, BaseModel): | 301 class CacheInvalidation(Base): |
324 __tablename__ = 'cache_invalidation' | 302 __tablename__ = 'cache_invalidation' |
325 __table_args__ = (UniqueConstraint('cache_key'), {'useexisting':True}) | 303 __table_args__ = (UniqueConstraint('cache_key'), {'useexisting':True}) |
326 cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) | 304 cache_id = Column("cache_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) |
327 cache_key = Column("cache_key", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 305 cache_key = Column("cache_key", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
328 cache_args = Column("cache_args", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | 306 cache_args = Column("cache_args", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
336 | 314 |
337 def __repr__(self): | 315 def __repr__(self): |
338 return "<%s('%s:%s')>" % (self.__class__.__name__, | 316 return "<%s('%s:%s')>" % (self.__class__.__name__, |
339 self.cache_id, self.cache_key) | 317 self.cache_id, self.cache_key) |
340 | 318 |
341 class DbMigrateVersion(Base, BaseModel): | 319 class DbMigrateVersion(Base): |
342 __tablename__ = 'db_migrate_version' | 320 __tablename__ = 'db_migrate_version' |
343 __table_args__ = {'useexisting':True} | 321 __table_args__ = {'useexisting':True} |
344 repository_id = Column('repository_id', String(250), primary_key=True) | 322 repository_id = Column('repository_id', String(250), primary_key=True) |
345 repository_path = Column('repository_path', Text) | 323 repository_path = Column('repository_path', Text) |
346 version = Column('version', Integer) | 324 version = Column('version', Integer) |