don't dirty cards when upgrading

This commit is contained in:
Damien Elmes 2008-11-15 18:19:01 +09:00
parent 095aa6dc84
commit 4316c93b79

View file

@ -1111,7 +1111,7 @@ cardModelId = :id""", id=cardModel.id)
model.setModified() model.setModified()
self.flushMod() self.flushMod()
def updateCardsFromModel(self, model): def updateCardsFromModel(self, model, dirty=True):
"Update all card question/answer when model changes." "Update all card question/answer when model changes."
ids = self.s.all(""" ids = self.s.all("""
select cards.id, cards.cardModelId, cards.factId, facts.modelId from select cards.id, cards.cardModelId, cards.factId, facts.modelId from
@ -1120,7 +1120,7 @@ cards.factId = facts.id and
facts.modelId = :id""", id=model.id) facts.modelId = :id""", id=model.id)
if not ids: if not ids:
return return
self.updateCardQACache(ids) self.updateCardQACache(ids, dirty)
def updateCardQACache(self, ids, dirty=True): def updateCardQACache(self, ids, dirty=True):
"Given a list of (cardId, cardModelId, factId, modId), update q/a cache." "Given a list of (cardId, cardModelId, factId, modId), update q/a cache."
@ -1894,11 +1894,11 @@ alter table models add column source integer not null default 0""")
DeckStorage._addIndices(deck) DeckStorage._addIndices(deck)
deck.s.statement("analyze") deck.s.statement("analyze")
if deck.version < 13: if deck.version < 13:
deck.rebuildCounts()
deck.rebuildQueue() deck.rebuildQueue()
deck.rebuildCounts()
# regenerate question/answer cache # regenerate question/answer cache
for m in deck.models: for m in deck.models:
deck.updateCardsFromModel(m) deck.updateCardsFromModel(m, dirty=False)
deck.version = 13 deck.version = 13
if deck.version < 14: if deck.version < 14:
deck.s.statement(""" deck.s.statement("""