X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fupdate_db.py;h=77d0097604743c40191da00bf970c11b8b0c90ec;hb=4f29e33412c9bf42023483ef6f6e8dcf2fbe0dc5;hp=985051ece2951cdb003b3ef86493bca4cdb1a080;hpb=d8ca9934a412bf7b31af698c71f3fe6d95378205;p=dak.git diff --git a/dak/update_db.py b/dak/update_db.py index 985051ec..77d00976 100755 --- a/dak/update_db.py +++ b/dak/update_db.py @@ -46,7 +46,7 @@ from daklib.daklog import Logger ################################################################################ Cnf = None -required_database_schema = 47 +required_database_schema = 49 ################################################################################ @@ -123,15 +123,18 @@ Updates dak's database schema to the lastest version. You should disable crontab try: # Build a connect string - connect_str = "dbname=%s"% (cnf["DB::Name"]) - if cnf["DB::Host"] != '': connect_str += " host=%s" % (cnf["DB::Host"]) - if cnf["DB::Port"] != '-1': connect_str += " port=%d" % (int(cnf["DB::Port"])) + if cnf.has_key("DB::Service"): + connect_str = "service=%s" % cnf["DB::Service"] + else: + connect_str = "dbname=%s"% (cnf["DB::Name"]) + if cnf["DB::Host"] != '': connect_str += " host=%s" % (cnf["DB::Host"]) + if cnf["DB::Port"] != '-1': connect_str += " port=%d" % (int(cnf["DB::Port"])) self.db = psycopg2.connect(connect_str) except: print "FATAL: Failed connect to database" - pass + sys.exit(1) database_revision = int(self.get_db_rev()) logger.log(['transaction id before update: %s' % self.get_transaction_id()])