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
sha1sum TEXT NOT NULL,
sha256sum TEXT NOT NULL )""")
+ c.execute("""CREATE TABLE changes_pending_files_map (
+ file_id INT4 NOT NULL REFERENCES changes_pending_files (id),
+ change_id INT4 NOT NULL REFERENCES known_changes (id),
+
+ PRIMARY KEY (file_id, change_id))""")
+
c.execute("""CREATE TABLE changes_pending_source (
id SERIAL PRIMARY KEY,
change_id INT4 NOT NULL REFERENCES known_changes (id),
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""")
+
print "Sorting out permissions"
for t in ['build_queue', 'policy_queue', 'build_queue_files',