From 80153c63cb3f62271468d9708028a21764ac733d Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 21 Feb 2011 12:32:56 +0900 Subject: [PATCH] forget old gravestones on schema change --- anki/deck.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index ec248685f..e49a474f3 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -3004,6 +3004,10 @@ Return new path, relative to media dir.""" def setSchemaModified(self): # we might be called during an upgrade, so avoid bumping modtime self.setVar("schemaMod", time.time(), mod=False) + # since we guarantee a full sync to all clients, this is a good time + # to forget old gravestones + for k in ("cards", "facts", "models", "media"): + self.db.statement("delete from %sDeleted" % k) def flushMod(self): "Mark modified and flush to DB." @@ -3251,10 +3255,6 @@ where cards.cardModelId = cardModels.id)""") # rebuild self.updateProgress() self.rebuildTypes() - # since we can ensure the updated version will be propagated to - # all locations, we can forget old tombstones - for k in ("cards", "facts", "models", "media"): - self.db.statement("delete from %sDeleted" % k) # force a full sync self.setSchemaModified() # and finally, optimize