comparison pylons_app/model/db.py @ 367:a26f48ad7a8a

fixes issue #16 reimplementation of database repository, for using generic pk instead of repo naming as pk. Which caused to many problems. Fixed issue when redirecting after repo name change to 404. Removed update hook from basic app setup
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 27 Jul 2010 14:53:22 +0200
parents 1ef52a70f3b7
children 55377fdc1fc6
comparison
equal deleted inserted replaced
366:0f35fa0f4eb8 367:a26f48ad7a8a
52 52
53 user = relation('User') 53 user = relation('User')
54 54
55 class Repository(Base): 55 class Repository(Base):
56 __tablename__ = 'repositories' 56 __tablename__ = 'repositories'
57 __table_args__ = {'useexisting':True} 57 __table_args__ = (UniqueConstraint('repo_name'), {'useexisting':True},)
58 repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None, primary_key=True) 58 repo_id = Column("repo_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
59 repo_name = Column("repo_name", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None)
59 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None) 60 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None)
60 private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None) 61 private = Column("private", BOOLEAN(), nullable=True, unique=None, default=None)
61 description = Column("description", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 62 description = Column("description", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
62 63
63 user = relation('User') 64 user = relation('User')
73 def __repr__(self): 74 def __repr__(self):
74 return "<Permission('%s:%s')>" % (self.permission_id, self.permission_name) 75 return "<Permission('%s:%s')>" % (self.permission_id, self.permission_name)
75 76
76 class Repo2Perm(Base): 77 class Repo2Perm(Base):
77 __tablename__ = 'repo_to_perm' 78 __tablename__ = 'repo_to_perm'
78 __table_args__ = (UniqueConstraint('user_id', 'repository'), {'useexisting':True}) 79 __table_args__ = (UniqueConstraint('user_id', 'repository_id'), {'useexisting':True})
79 repo2perm_id = Column("repo2perm_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) 80 repo2perm_id = Column("repo2perm_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
80 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None) 81 user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
81 permission_id = Column("permission_id", INTEGER(), ForeignKey(u'permissions.permission_id'), nullable=False, unique=None, default=None) 82 permission_id = Column("permission_id", INTEGER(), ForeignKey(u'permissions.permission_id'), nullable=False, unique=None, default=None)
82 repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), ForeignKey(u'repositories.repo_name'), nullable=False, unique=None, default=None) 83 repository_id = Column("repository_id", INTEGER(), ForeignKey(u'repositories.repo_id'), nullable=False, unique=None, default=None)
83 84
84 user = relation('User') 85 user = relation('User')
85 permission = relation('Permission') 86 permission = relation('Permission')
86 87 repository = relation('Repository')