diff --git a/oml/settings.py b/oml/settings.py index f747f63..aae47ed 100644 --- a/oml/settings.py +++ b/oml/settings.py @@ -101,4 +101,4 @@ USER_AGENT = 'OpenMediaLibrary/%s' % VERSION DEBUG_HTTP = server.get('debug_http', False) -DB_VERSION = 2 +DB_VERSION = 3 diff --git a/oml/update.py b/oml/update.py index 471fdb4..b3c4129 100644 --- a/oml/update.py +++ b/oml/update.py @@ -299,6 +299,8 @@ class Update(Thread): db_version = migrate_1() if db_version < 2: db_version = migrate_2() + if db_version < 3: + db_version = migrate_3() settings.server['db_version'] = settings.DB_VERSION def run(self): @@ -332,3 +334,24 @@ def migrate_2(): s.item.update_sort() session.commit() return 2 + +def migrate_3(): + with db.session(): + import item.models + for i in item.models.Item.find({ + 'query': { + 'conditions': [{ + 'key':'mediastate', + 'value':'available', + 'operator': '==' + }] + } + }): + if not i.files.all(): + i.remove_file() + else: + f = i.files.all()[0] + if not 'pages' in i.info and 'pages' in f.info: + i.info['pages'] = f.info['pages'] + i.save() + return 3