def _migrateDeckTbl(self): db = self.db db.execute("delete from col") db.execute(""" insert or replace into col select id, cast(created as int), :t, :t, 99, 0, 0, cast(lastSync as int), "", "", "", "", "" from decks""", t=intTime()) # prepare a deck to store the old deck options g, gc, conf = _getColVars(db) # delete old selective study settings, which we can't auto-upgrade easily keys = ("newActive", "newInactive", "revActive", "revInactive") for k in keys: db.execute("delete from deckVars where key=:k", k=k) # copy other settings, ignoring deck order as there's a new default gc['new']['perDay'] = db.scalar("select newCardsPerDay from decks") gc['new']['order'] = min(1, db.scalar("select newCardOrder from decks")) # these are collection level, and can't be imported on a per-deck basis # conf['newSpread'] = db.scalar("select newCardSpacing from decks") # conf['timeLim'] = db.scalar("select sessionTimeLimit from decks") # add any deck vars and save dkeys = ("hexCache", "cssCache") for (k, v) in db.execute("select * from deckVars").fetchall(): if k in dkeys: pass else: conf[k] = v _addColVars(db, g, gc, conf) # clean up db.execute("drop table decks") db.execute("drop table deckVars")
def _migrateDeckTbl(self): db = self.db db.execute("delete from col") db.execute(""" insert or replace into col select id, cast(created as int), :t, :t, 99, 0, 0, cast(lastSync as int), "", "", "", "", "" from decks""", t=intTime()) # prepare a deck to store the old deck options g, gc, conf = _getColVars(db) # delete old selective study settings, which we can't auto-upgrade easily keys = ("newActive", "newInactive", "revActive", "revInactive") for k in keys: db.execute("delete from deckVars where key=:k", k=k) # copy other settings, ignoring deck order as there's a new default gc['new']['perDay'] = db.scalar("select newCardsPerDay from decks") gc['new']['order'] = min(1, db.scalar("select newCardOrder from decks")) # these are collection level, and can't be imported on a per-deck basis # conf['newSpread'] = db.scalar("select newCardSpacing from decks") # conf['timeLim'] = db.scalar("select sessionTimeLimit from decks") # add any deck vars and save for (k, v) in db.execute("select * from deckVars").fetchall(): if k in ("hexCache", "cssCache"): # ignore pass elif k == "leechFails": gc['lapse']['leechFails'] = int(v) else: conf[k] = v # don't use a learning mode for upgrading users #gc['new']['delays'] = [10] _addColVars(db, g, gc, conf) # clean up db.execute("drop table decks") db.execute("drop table deckVars")