]> git.decadent.org.uk Git - dak.git/blobdiff - dak/dakdb/update22.py
Remove old database schema update scripts
[dak.git] / dak / dakdb / update22.py
diff --git a/dak/dakdb/update22.py b/dak/dakdb/update22.py
deleted file mode 100644 (file)
index 5c852c6..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-#!/usr/bin/env python
-# coding=utf8
-
-"""
-Clean up queue SQL
-
-@contact: Debian FTP Master <ftpmaster@debian.org>
-@copyright: 2009  Mark Hymers <mhy@debian.org>
-@license: GNU General Public License version 2 or later
-"""
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-################################################################################
-
-
-################################################################################
-
-import psycopg2
-import time
-import os
-import datetime
-import traceback
-
-from daklib.dak_exceptions import DBUpdateError
-from daklib.config import Config
-
-################################################################################
-
-def do_update(self):
-    print "Splitting up queues and fixing general design mistakes"
-
-    try:
-        c = self.db.cursor()
-
-        cnf = Config()
-
-        print "Adding build_queue table"
-        c.execute("""CREATE TABLE build_queue (
-                            id          SERIAL PRIMARY KEY,
-                            queue_name  TEXT NOT NULL UNIQUE,
-                            path        TEXT NOT NULL,
-                            copy_files  BOOL DEFAULT FALSE NOT NULL)""")
-
-        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,
-                            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 = {}
-        c.execute("""SELECT queue.id, queue.queue_name, queue.path, queue.copy_pool_files FROM queue""")
-
-        for q in c.fetchall():
-            queues[q[0]] = q[1]
-            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]))
-
-            else:
-                # Move to policy_queue_table
-                c.execute("""INSERT INTO policy_queue (queue_name, path)
-                                   VALUES ('%s', '%s')""" % (q[1], q[2]))
-
-
-        print "Fixing up build_queue_files"
-        c.execute("""ALTER TABLE queue_files DROP CONSTRAINT queue_files_queueid_fkey""")
-        c.execute("""ALTER TABLE queue_files RENAME TO build_queue_files""")
-        c.execute("""ALTER TABLE build_queue_files RENAME COLUMN queueid TO build_queue_id""")
-
-        c.execute("""UPDATE build_queue_files
-                        SET build_queue_id = (SELECT build_queue.id FROM build_queue
-                                               WHERE build_queue.queue_name =
-                                                (SELECT queue.queue_name FROM queue
-                                                  WHERE queue.id = build_queue_files.build_queue_id))""")
-
-        c.execute("""ALTER TABLE build_queue_files
-                       ADD CONSTRAINT build_queue_files_build_queue_id_fkey
-                       FOREIGN KEY (build_queue_id)
-                       REFERENCES build_queue(id)
-                       ON DELETE CASCADE""")
-
-
-        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
-                             WHERE policy_queue.queue_name =
-                              (SELECT queue.queue_name FROM queue
-                               WHERE queue.id = suite.policy_queue_id))""")
-
-        c.execute("""ALTER TABLE suite
-                       ADD CONSTRAINT suite_policy_queue_fkey
-                       FOREIGN KEY (policy_queue_id)
-                       REFERENCES policy_queue (id)
-                       ON DELETE RESTRICT""")
-
-        c.execute("""ALTER TABLE known_changes DROP CONSTRAINT known_changes_approved_for_fkey""")
-        c.execute("""ALTER TABLE known_changes DROP CONSTRAINT known_changes_in_queue_fkey""")
-
-        c.execute("""UPDATE known_changes
-    SET in_queue = (SELECT policy_queue.id FROM policy_queue
-                             WHERE policy_queue.queue_name =
-                              (SELECT queue.queue_name FROM queue
-                               WHERE queue.id = known_changes.in_queue))""")
-
-        c.execute("""ALTER TABLE known_changes
-                       ADD CONSTRAINT known_changes_in_queue_fkey
-                       FOREIGN KEY (in_queue)
-                       REFERENCES policy_queue (id)
-                       ON DELETE RESTRICT""")
-
-
-
-        c.execute("""UPDATE known_changes
-    SET approved_for = (SELECT policy_queue.id FROM policy_queue
-                               WHERE policy_queue.queue_name =
-                                (SELECT queue.queue_name FROM queue
-                                  WHERE queue.id = known_changes.approved_for))""")
-
-        c.execute("""ALTER TABLE known_changes
-                       ADD CONSTRAINT known_changes_approved_for_fkey
-                       FOREIGN KEY (in_queue)
-                       REFERENCES policy_queue (id)
-                       ON DELETE RESTRICT""")
-
-        c.execute("""ALTER TABLE suite_queue_copy RENAME TO suite_build_queue_copy""")
-
-        c.execute("""ALTER TABLE suite_build_queue_copy DROP CONSTRAINT suite_queue_copy_queue_fkey""")
-
-        c.execute("""ALTER TABLE suite_build_queue_copy RENAME COLUMN queue TO build_queue_id""")
-
-        c.execute("""UPDATE suite_build_queue_copy
-    SET build_queue_id = (SELECT build_queue.id FROM build_queue
-                                 WHERE build_queue.queue_name =
-                                (SELECT queue.queue_name FROM queue
-                                  WHERE queue.id = suite_build_queue_copy.build_queue_id))""")
-
-        c.execute("""ALTER TABLE suite_build_queue_copy
-                       ADD CONSTRAINT suite_build_queue_copy_build_queue_id_fkey
-                       FOREIGN KEY (build_queue_id)
-                       REFERENCES build_queue (id)
-                       ON DELETE RESTRICT""")
-
-        c.execute("""DROP TABLE changes_pending_files""")
-
-        c.execute("""CREATE TABLE changes_pending_files (
-                            id             SERIAL PRIMARY KEY,
-                            filename       TEXT NOT NULL UNIQUE,
-                            size           BIGINT NOT NULL,
-                            md5sum         TEXT NOT NULL,
-                            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),
-                            source         TEXT NOT NULL,
-                            version        DEBVERSION NOT NULL,
-                            maintainer_id  INT4 NOT NULL REFERENCES maintainer (id),
-                            changedby_id   INT4 NOT NULL REFERENCES maintainer (id),
-                            sig_fpr        INT4 NOT NULL REFERENCES fingerprint (id),
-                            dm_upload_allowed BOOL NOT NULL DEFAULT FALSE )""")
-
-        c.execute("""CREATE TABLE changes_pending_source_files (
-                            pending_source_id INT4 REFERENCES changes_pending_source (id) NOT NULL,
-                            pending_file_id   INT4 REFERENCES changes_pending_files (id) NOT NULL,
-
-                            PRIMARY KEY (pending_source_id, pending_file_id) )""")
-
-        c.execute("""CREATE TABLE changes_pending_binaries (
-                            id                 SERIAL PRIMARY KEY,
-                            change_id          INT4 NOT NULL REFERENCES known_changes (id),
-                            package            TEXT NOT NULL,
-                            version            DEBVERSION NOT NULL,
-                            architecture_id    INT4 REFERENCES architecture (id) NOT NULL,
-                            source_id          INT4 REFERENCES source (id),
-                            pending_source_id  INT4 REFERENCES changes_pending_source (id),
-                            pending_file_id    INT4 REFERENCES changes_pending_files (id),
-
-                            UNIQUE (package, version, architecture_id),
-                            CHECK (source_id IS NOT NULL or pending_source_id IS NOT NULL ) )""")
-
-        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',
-                  'changes_pending_binaries', 'changes_pending_source_files',
-                  'changes_pending_source', 'changes_pending_files',
-                  'changes_pool_files', 'suite_build_queue_copy']:
-            c.execute("GRANT SELECT ON %s TO public" % t)
-            c.execute("GRANT ALL ON %s TO ftpmaster" % t)
-
-        for s in ['queue_files_id_seq', 'build_queue_id_seq',
-                  'changes_pending_source_id_seq',
-                  'changes_pending_binaries_id_seq',
-                  'changes_pending_files_id_seq',
-                  'changes_pending_source_id_seq',
-                  'known_changes_id_seq',
-                  'policy_queue_id_seq']:
-            c.execute("GRANT USAGE ON %s TO ftpmaster" % s)
-
-        print "Committing"
-        c.execute("UPDATE config SET value = '22' WHERE name = 'db_revision'")
-        self.db.commit()
-
-    except psycopg2.InternalError as msg:
-        self.db.rollback()
-        raise DBUpdateError("Unable to apply queue_build 21, rollback issued. Error message : %s" % (str(msg)))