X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdakdb%2Fupdate3.py;h=ccd463c4bef3c4866f63ade9f1c9839be0e40a7f;hb=425e44739cd77ffa01294f23e94ae7eabd5f5ec8;hp=cc297863ccafcccab7a12e26e966a03b1babcd9a;hpb=f71ac27c75a8ab5185508491e97bc6f237772aa6;p=dak.git diff --git a/dak/dakdb/update3.py b/dak/dakdb/update3.py index cc297863..ccd463c4 100755 --- a/dak/dakdb/update3.py +++ b/dak/dakdb/update3.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Debian Archive Kit Database Update Script +""" Database Update Script - Remove unused versioncmp """ # Copyright (C) 2008 Michael Casadevall # Copyright (C) 2009 Joerg Jaspert @@ -20,7 +20,9 @@ ################################################################################ -import psycopg2, time +import psycopg2 +import time +from daklib.dak_exceptions import DBUpdateError ################################################################################ @@ -29,13 +31,16 @@ def do_update(self): try: c = self.db.cursor() - c.execute("DROP FUNCTION versioncmp(text, text);") + try: + # This might not exist on a fresh install, so don't fail + # needlessly + c.execute("DROP FUNCTION versioncmp(text, text);") + except: + pass c.execute("UPDATE config SET value = '3' WHERE name = 'db_revision'") self.db.commit() except psycopg2.ProgrammingError, msg: self.db.rollback() - print "FATAL: Unable to apply db update 3!" - print "Error Message: " + str(msg) - print "Database changes have been rolled back." + raise DBUpdateError, "Unable to appy versioncmp removal, rollback issued. Error message : %s" % (str(msg))