Skip to content

Commit

Permalink
Fix upgrade bug to dropped creator variants
Browse files Browse the repository at this point in the history
  • Loading branch information
fbennett committed Feb 14, 2017
1 parent b1f9e90 commit 62d65b8
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions chrome/content/zotero/xpcom/schema.js
Expand Up @@ -214,7 +214,7 @@ Zotero.Schema = new function(){
yield _updateCustomTables(updated);
}
updated = yield _migrateUserDataSchema(userdata, options);
var multilingual = _getDBVersion('multilingual')
var multilingual = yield _getDBVersion('multilingual')
var multiUpdated = yield _migrateUserMultiDataSchema(multilingual);
yield _updateSchema('zls');
yield _updateSchema('jurisdictions');
Expand Down Expand Up @@ -521,7 +521,7 @@ Zotero.Schema = new function(){
var installLocation = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("AChrom", Components.interfaces.nsIFile).parent;
installLocation.append("zotero.jar");
installLocation.append("jurism.jar");
}
// Asynchronous in Firefox
else {
Expand Down Expand Up @@ -2414,7 +2414,7 @@ Zotero.Schema = new function(){
yield Zotero.DB.queryAsync("DROP TABLE syncDeleteLogOld");
yield Zotero.DB.queryAsync("DROP TABLE syncedSettingsOld");
yield Zotero.DB.queryAsync("DROP TABLE collectionsOld");
yield Zotero.DB.queryAsync("DROP TABLE creatorsOld");
//yield Zotero.DB.queryAsync("DROP TABLE creatorsOld");
yield Zotero.DB.queryAsync("DROP TABLE creatorData");
yield Zotero.DB.queryAsync("DROP TABLE itemsOld");
yield Zotero.DB.queryAsync("DROP TABLE tagsOld");
Expand Down Expand Up @@ -2603,7 +2603,9 @@ Zotero.Schema = new function(){
// itemCreatorsAlt
yield Zotero.DB.queryAsync("ALTER TABLE itemCreatorsAlt RENAME TO itemCreatorsAltOld");
yield Zotero.DB.queryAsync("CREATE TABLE itemCreatorsAlt (\n itemID INT,\n creatorID INT,\n creatorTypeID INT DEFAULT 1,\n orderIndex INT DEFAULT 0,\n languageTag TEXT,\n PRIMARY KEY (itemID, creatorID, creatorTypeID, orderIndex, languageTag),\n UNIQUE (itemID, orderIndex, languageTag),\n FOREIGN KEY (itemID) REFERENCES items(itemID) ON DELETE CASCADE,\n FOREIGN KEY (creatorID) REFERENCES creators(creatorID) ON DELETE CASCADE,\n FOREIGN KEY (creatorTypeID) REFERENCES creatorTypes(creatorTypeID)\n)");
yield Zotero.DB.queryAsync("INSERT OR IGNORE INTO itemCreatorsAlt SELECT * FROM itemCreatorsAltOld");
yield Zotero.DB.queryAsync("CREATE INDEX itemCreatorsAlt_creatorTypeID ON itemCreatorsAlt(creatorTypeID)");
yield Zotero.DB.queryAsync("INSERT OR IGNORE INTO itemCreatorsAlt SELECT itemID, C.creatorID, creatorTypeID, orderIndex, languageTag FROM itemCreatorsAltOld ICO JOIN creatorsOld CO USING (creatorID) JOIN creators C ON (CO.creatorDataID=C.creatorID)");

yield Zotero.DB.queryAsync("DROP INDEX IF EXISTS itemCreatorsAlt_creatorTypeID");
yield Zotero.DB.queryAsync("CREATE INDEX itemCreatorsAlt_creatorTypeID ON itemCreatorsAlt(creatorTypeID)");

Expand Down

0 comments on commit 62d65b8

Please sign in to comment.