mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 13:25:47 +07:00
[FIX] runbot_merge: indexing of PR objects
Github constrains a single issue (/PR) number per repository, having different targets does not allow two PRs to share a number. Doesn't fix but should mitigate #169 slightly.
This commit is contained in:
parent
429257d013
commit
a84595ea04
@ -455,7 +455,7 @@ class PullRequests(models.Model):
|
|||||||
_name = 'runbot_merge.pull_requests'
|
_name = 'runbot_merge.pull_requests'
|
||||||
_order = 'number desc'
|
_order = 'number desc'
|
||||||
|
|
||||||
target = fields.Many2one('runbot_merge.branch', required=True)
|
target = fields.Many2one('runbot_merge.branch', required=True, index=True)
|
||||||
repository = fields.Many2one('runbot_merge.repository', required=True)
|
repository = fields.Many2one('runbot_merge.repository', required=True)
|
||||||
# NB: check that target & repo have same project & provide project related?
|
# NB: check that target & repo have same project & provide project related?
|
||||||
|
|
||||||
@ -800,13 +800,15 @@ class PullRequests(models.Model):
|
|||||||
pr.state = 'ready'
|
pr.state = 'ready'
|
||||||
|
|
||||||
def _auto_init(self):
|
def _auto_init(self):
|
||||||
res = super(PullRequests, self)._auto_init()
|
super(PullRequests, self)._auto_init()
|
||||||
|
# incorrect index: unique(number, target, repository).
|
||||||
|
tools.drop_index(self._cr, 'runbot_merge_unique_pr_per_target', self._table)
|
||||||
|
# correct index:
|
||||||
tools.create_unique_index(
|
tools.create_unique_index(
|
||||||
self._cr, 'runbot_merge_unique_pr_per_target', self._table, ['number', 'target', 'repository'])
|
self._cr, 'runbot_merge_unique_pr_per_repo', self._table, ['repository', 'number'])
|
||||||
self._cr.execute("CREATE INDEX IF NOT EXISTS runbot_merge_pr_head "
|
self._cr.execute("CREATE INDEX IF NOT EXISTS runbot_merge_pr_head "
|
||||||
"ON runbot_merge_pull_requests "
|
"ON runbot_merge_pull_requests "
|
||||||
"USING hash (head)")
|
"USING hash (head)")
|
||||||
return res
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _tagstate(self):
|
def _tagstate(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user