X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdakdb%2Fupdate22.py;h=81f20037ee0f674dc91ee37d155a9789ecf37a7b;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=7234555eda7ea8be18dd6785eccedfdd3929dbc5;hpb=d3a3c234a460e8c4f63fc7eaab651585e986d7c0;p=dak.git diff --git a/dak/dakdb/update22.py b/dak/dakdb/update22.py index 7234555e..81f20037 100755 --- a/dak/dakdb/update22.py +++ b/dak/dakdb/update22.py @@ -56,9 +56,12 @@ def do_update(self): 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 = {} @@ -66,7 +69,7 @@ def do_update(self): 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])) @@ -95,7 +98,7 @@ def do_update(self): 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 @@ -204,6 +207,9 @@ def do_update(self): 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""") @@ -229,6 +235,6 @@ def do_update(self): 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))