mirror of
https://github.com/odoo/runbot.git
synced 2025-03-17 00:15:47 +07:00
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import re
|
|
|
|
def migrate(cr, version):
|
|
""" required_statuses is now a separate object in its own table
|
|
"""
|
|
# apparently the DDL has already been updated but the reflection gunk
|
|
cr.execute("""
|
|
DELETE FROM ir_model_fields
|
|
WHERE model = 'runbot_merge.pull_requests.tagging'
|
|
AND name in ('state_from', 'state_to')
|
|
""")
|
|
|
|
cr.execute("""
|
|
CREATE TABLE runbot_merge_repository_status (
|
|
id SERIAL NOT NULL PRIMARY KEY,
|
|
context VARCHAR NOT NULL,
|
|
repo_id INTEGER NOT NULL REFERENCES runbot_merge_repository (id) ON DELETE CASCADE,
|
|
prs BOOLEAN,
|
|
stagings BOOLEAN
|
|
)
|
|
""")
|
|
cr.execute("""
|
|
CREATE TABLE runbot_merge_repository_status_branch (
|
|
status_id INTEGER NOT NULL REFERENCES runbot_merge_repository_status (id) ON DELETE CASCADE,
|
|
branch_id INTEGER NOT NULL REFERENCES runbot_merge_branch (id) ON DELETE CASCADE
|
|
)
|
|
""")
|
|
|
|
cr.execute('select id, required_statuses from runbot_merge_repository')
|
|
for repo, statuses in cr.fetchall():
|
|
for st in re.split(r',\s*', statuses):
|
|
cr.execute("""
|
|
INSERT INTO runbot_merge_repository_status (context, repo_id, prs, stagings)
|
|
VALUES (%s, %s, true, true)
|
|
""", [st, repo])
|