print "Adding policy_queue table"
c.execute("""CREATE TABLE policy_queue (
- id SERIAL PRIMARY KEY,
- queue_name TEXT NOT NULL UNIQUE,
- path TEXT NOT NULL)""")
+ id SERIAL PRIMARY KEY,
+ queue_name TEXT NOT NULL UNIQUE,
+ path TEXT NOT NULL,
+ perms CHAR(4) NOT NULL DEFAULT '0660' CHECK (perms SIMILAR TO '^[0-7][0-7][0-7][0-7]$'),
+ change_perms CHAR(4) NOT NULL DEFAULT '0660' CHECK (change_perms SIMILAR TO '^[0-7][0-7][0-7][0-7]$')
+ )""")
print "Copying queues"
queues = {}
for q in c.fetchall():
queues[q[0]] = q[1]
- if q[1] in ['accepted', 'buildd']:
+ if q[1] in ['accepted', 'buildd', 'embargoed', 'unembargoed']:
# Move to build_queue_table
c.execute("""INSERT INTO build_queue (queue_name, path, copy_files)
VALUES ('%s', '%s', '%s')""" % (q[1], q[2], q[3]))
ON DELETE CASCADE""")
- c.execute("""ALTER TABLE suite DROP CONSTRAINT suite_policy_queue_fkey""")
+ c.execute("""ALTER TABLE suite DROP CONSTRAINT suite_policy_queue_id_fkey""")
c.execute("""UPDATE suite
SET policy_queue_id = (SELECT policy_queue.id FROM policy_queue
print "Getting rid of old queue table"
c.execute("""DROP TABLE queue""")
+ print "Sorting out permission columns"
+ c.execute("""UPDATE policy_queue SET perms = '0664' WHERE queue_name IN ('proposedupdates', 'oldproposedupdates')""")
+
print "Moving known_changes table"
c.execute("""ALTER TABLE known_changes RENAME TO changes""")
c.execute("UPDATE config SET value = '22' WHERE name = 'db_revision'")
self.db.commit()
- except psycopg2.InternalError, msg:
+ except psycopg2.InternalError as msg:
self.db.rollback()
- raise DBUpdateError, "Unable to apply queue_build 21, rollback issued. Error message : %s" % (str(msg))
+ raise DBUpdateError("Unable to apply queue_build 21, rollback issued. Error message : %s" % (str(msg)))