check database version before use

This commit is contained in:
lilydjwg 2013-02-11 21:28:09 +08:00
parent 9ac3ed8f3b
commit b3d9560c2d
3 changed files with 7 additions and 1 deletions

View file

@ -21,6 +21,7 @@ import tornado.process
import archpkg
import pkgreader
import dbutil
logger = logging.getLogger(__name__)
@ -190,7 +191,12 @@ class EventHandler(pyinotify.ProcessEvent):
base = config.get('path')
dbname = config.get('info-db', os.path.join(base, 'pkginfo.db'))
new_db = not os.path.exists(dbname)
self._db = sqlite3.connect(dbname, isolation_level=None) # isolation_level=None means autocommit
if new_db:
dbutil.setver(self._db, '0.2')
else:
assert dbutil.getver(self._db) == '0.2', 'wrong database version, please upgrade (see scripts directory)'
self._db.execute('''create table if not exists pkginfo
(filename text unique,
pkgname text,

View file

@ -10,7 +10,7 @@ top_dir = os.path.normpath(os.path.join(__file__, '../..'))
sys.path.append(top_dir)
import pkgreader
from common import *
from dbutil import *
def main(conffile):
config = configparser.ConfigParser()