提交 8da2a8dd 编写于 作者: L Luca Falavigna

update-db: automatically find the schema nunmber to upgrade to

上级 1d7f6d35
...@@ -37,6 +37,8 @@ import os ...@@ -37,6 +37,8 @@ import os
import apt_pkg import apt_pkg
import time import time
import errno import errno
from glob import glob
from re import findall
from daklib import utils from daklib import utils
from daklib.config import Config from daklib.config import Config
...@@ -46,7 +48,6 @@ from daklib.daklog import Logger ...@@ -46,7 +48,6 @@ from daklib.daklog import Logger
################################################################################ ################################################################################
Cnf = None Cnf = None
required_database_schema = 97
################################################################################ ################################################################################
...@@ -155,10 +156,18 @@ Updates dak's database schema to the lastest version. You should disable crontab ...@@ -155,10 +156,18 @@ Updates dak's database schema to the lastest version. You should disable crontab
self.update_db_to_zero() self.update_db_to_zero()
database_revision = 0 database_revision = 0
dbfiles = glob(os.path.join(os.path.dirname(__file__), 'dakdb/update*.py'))
required_database_schema = int(max(findall('update(\d+).py', " ".join(dbfiles))))
print "dak database schema at %d" % database_revision print "dak database schema at %d" % database_revision
print "dak version requires schema %d" % required_database_schema print "dak version requires schema %d" % required_database_schema
if database_revision == required_database_schema: if database_revision < required_database_schema:
prompt = "Update database? (y/N) "
answer = utils.our_raw_input(prompt)
if answer.upper() != 'Y':
sys.exit(0)
else:
print "no updates required" print "no updates required"
logger.log(["no updates required"]) logger.log(["no updates required"])
sys.exit(0) sys.exit(0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册