X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdakdb%2Fupdate15.py;h=3074ff09238c6630fcd6a2efb730df68626f0e18;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=84f1f27b6dddd98195916854902fd88043c90d5b;hpb=28f3e6f0659504214d482d682f4b2b4791872cc6;p=dak.git diff --git a/dak/dakdb/update15.py b/dak/dakdb/update15.py old mode 100644 new mode 100755 index 84f1f27b..3074ff09 --- a/dak/dakdb/update15.py +++ b/dak/dakdb/update15.py @@ -43,7 +43,7 @@ def do_update(self): CREATE TABLE src_format ( id SERIAL PRIMARY KEY, format_name TEXT NOT NULL, - unique (format_name) + UNIQUE (format_name) ) """) c.execute("INSERT INTO src_format (format_name) VALUES('1.0')") @@ -52,16 +52,20 @@ def do_update(self): c.execute(""" CREATE TABLE suite_src_formats ( - suite INT4 NOT NULL, - src_format INT4 NOT NULL, - unique (suite, src_format) + suite INT4 NOT NULL REFERENCES suite(id), + src_format INT4 NOT NULL REFERENCES src_format(id), + PRIMARY KEY (suite, src_format) ) """) print "Authorize format 1.0 on all suites by default" + c.execute("SELECT id FROM suite") suites = c.fetchall() + c.execute("SELECT id FROM src_format WHERE format_name = '1.0'") + formats = c.fetchall() for s in suites: - c.execute("INSERT INTO suite_src_formats (suite, src_format) VALUES('%s', '%s')" % (s[0], '1.0')) + for f in formats: + c.execute("INSERT INTO suite_src_formats (suite, src_format) VALUES(%s, %s)", (s[0], f[0])) print "Authorize all other formats on tpu, unstable & experimental by default" c.execute("SELECT id FROM suite WHERE suite_name IN ('testing-proposed-updates', 'unstable', 'experimental')") @@ -70,11 +74,11 @@ def do_update(self): formats = c.fetchall() for s in suites: for f in formats: - c.execute("INSERT INTO suite_src_formats (suite, src_format) VALUES('%s', '%s')" % (s[0], f[0])) + c.execute("INSERT INTO suite_src_formats (suite, src_format) VALUES(%s, %s)", (s[0], f[0])) c.execute("UPDATE config SET value = '15' WHERE name = 'db_revision'") self.db.commit() - except psycopg2.ProgrammingError, msg: + except psycopg2.ProgrammingError as msg: self.db.rollback() raise DBUpdateError, "Unable to apply source format update 15, rollback issued. Error message : %s" % (str(msg))