Add 'version' to sync cache primary key
The sync cache will have pristine copies of the existing versions of local objects for better conflict resolution, but downloads will get saved to the sync cache first before processing, so the cache needs to be able to hold more than one version.
This commit is contained in:
parent
ab4320df07
commit
eee0e22bf6
|
@ -1945,7 +1945,7 @@ Zotero.Schema = new function(){
|
|||
|
||||
yield Zotero.DB.queryAsync("ALTER TABLE libraries ADD COLUMN version INT NOT NULL DEFAULT 0");
|
||||
yield Zotero.DB.queryAsync("ALTER TABLE libraries ADD COLUMN lastsync INT NOT NULL DEFAULT 0");
|
||||
yield Zotero.DB.queryAsync("CREATE TABLE syncCache (\n libraryID INT NOT NULL,\n key TEXT NOT NULL,\n syncObjectTypeID INT NOT NULL,\n version INT NOT NULL,\n data TEXT,\n PRIMARY KEY (libraryID, key, syncObjectTypeID),\n FOREIGN KEY (libraryID) REFERENCES libraries(libraryID) ON DELETE CASCADE,\n FOREIGN KEY (syncObjectTypeID) REFERENCES syncObjectTypes(syncObjectTypeID)\n)");
|
||||
yield Zotero.DB.queryAsync("CREATE TABLE syncCache (\n libraryID INT NOT NULL,\n key TEXT NOT NULL,\n syncObjectTypeID INT NOT NULL,\n version INT NOT NULL,\n data TEXT,\n PRIMARY KEY (libraryID, key, syncObjectTypeID, version),\n FOREIGN KEY (libraryID) REFERENCES libraries(libraryID) ON DELETE CASCADE,\n FOREIGN KEY (syncObjectTypeID) REFERENCES syncObjectTypes(syncObjectTypeID)\n)");
|
||||
|
||||
yield Zotero.DB.queryAsync("DROP TABLE translatorCache");
|
||||
yield Zotero.DB.queryAsync("CREATE TABLE translatorCache (\n fileName TEXT PRIMARY KEY,\n metadataJSON TEXT,\n lastModifiedTime INT\n);");
|
||||
|
|
|
@ -297,7 +297,7 @@ CREATE TABLE syncCache (
|
|||
syncObjectTypeID INT NOT NULL,
|
||||
version INT NOT NULL,
|
||||
data TEXT,
|
||||
PRIMARY KEY (libraryID, key, syncObjectTypeID),
|
||||
PRIMARY KEY (libraryID, key, syncObjectTypeID, version),
|
||||
FOREIGN KEY (libraryID) REFERENCES libraries(libraryID) ON DELETE CASCADE,
|
||||
FOREIGN KEY (syncObjectTypeID) REFERENCES syncObjectTypes(syncObjectTypeID)
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue
Block a user