update database on startup

This commit is contained in:
j 2016-01-17 11:59:06 +05:30
commit 78c62d813e
4 changed files with 87 additions and 9 deletions

View file

@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
from datetime import datetime
from io import BytesIO
import base64
import hashlib
import os
@ -10,7 +9,6 @@ import shutil
import stat
import unicodedata
from PIL import Image
import ox
from sqlalchemy.schema import CreateTable
import sqlalchemy as sa
@ -801,3 +799,13 @@ def update_sort_table():
for q in sql:
s.connection().execute(q)
s.commit()
layout = db.get_layout()
sort_indexes = [i[len('ix_sort_'):] for i in layout['indexes'] if i.startswith('ix_sort_')]
sql = []
for col in set(Item.sort_keys)-set(sort_indexes):
sql.append('CREATE INDEX ix_sort_{col} ON sort ({col})'.format(col=col))
if sql:
with db.session() as s:
for q in sql:
s.connection().execute(q)
s.commit()