changeset 2666:c51fb1da6df2 beta

cascade fixes for comments/pull-requests/reviewers when deleting a repo. Just CLEAN ALL !
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 26 Jul 2012 22:14:40 +0200
parents 81a17ef4afc0
children 129beb0062c2
files rhodecode/model/db.py
diffstat 1 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/db.py	Thu Jul 26 22:08:26 2012 +0200
+++ b/rhodecode/model/db.py	Thu Jul 26 22:14:40 2012 +0200
@@ -589,11 +589,21 @@
     users_group_to_perm = relationship('UsersGroupRepoToPerm', cascade='all')
     stats = relationship('Statistics', cascade='all', uselist=False)
 
-    followers = relationship('UserFollowing', primaryjoin='UserFollowing.follows_repo_id==Repository.repo_id', cascade='all')
+    followers = relationship('UserFollowing', 
+                             primaryjoin='UserFollowing.follows_repo_id==Repository.repo_id', 
+                             cascade='all')
 
     logs = relationship('UserLog')
     comments = relationship('ChangesetComment', cascade="all, delete, delete-orphan")
 
+    pull_requests_org = relationship('PullRequest',
+                    primaryjoin='PullRequest.org_repo_id==Repository.repo_id',
+                    cascade="all, delete, delete-orphan")
+
+    pull_requests_other = relationship('PullRequest',
+                    primaryjoin='PullRequest.other_repo_id==Repository.repo_id',
+                    cascade="all, delete, delete-orphan")
+
     def __unicode__(self):
         return u"<%s('%s:%s')>" % (self.__class__.__name__, self.repo_id,
                                    self.repo_name)
@@ -1528,8 +1538,6 @@
     other_repo_id = Column('other_repo_id', Integer(), ForeignKey('repositories.repo_id'), nullable=False)
     other_ref = Column('other_ref', Unicode(256), nullable=False)
 
-    statuses = relationship('ChangesetStatus')
-
     @hybrid_property
     def revisions(self):
         return self._revisions.split(':')
@@ -1539,9 +1547,13 @@
         self._revisions = ':'.join(val)
 
     author = relationship('User', lazy='joined')
-    reviewers = relationship('PullRequestReviewers')
+    reviewers = relationship('PullRequestReviewers', 
+                             cascade="all, delete, delete-orphan")
     org_repo = relationship('Repository', primaryjoin='PullRequest.org_repo_id==Repository.repo_id')
     other_repo = relationship('Repository', primaryjoin='PullRequest.other_repo_id==Repository.repo_id')
+    statuses = relationship('ChangesetStatus')
+    comments = relationship('ChangesetComment',
+                             cascade="all, delete, delete-orphan")
 
     def is_closed(self):
         return self.status == self.STATUS_CLOSED