www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit fd0a5a7972e01bc6835b76687f41dc0d3dccf1cb
parent 0aa7379fb3b8379abc86c9072d2880971d976d3a
Author: Dan Stillman <dstillman@zotero.org>
Date:   Thu, 26 Jun 2008 18:34:16 +0000

Closes #1038, Migrate Quick Start Guide item ID



Diffstat:
Mchrome/content/zotero/xpcom/schema.js | 31+++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+), 0 deletions(-)

diff --git a/chrome/content/zotero/xpcom/schema.js b/chrome/content/zotero/xpcom/schema.js @@ -1390,11 +1390,19 @@ Zotero.Schema = new function(){ // Items Zotero.DB.query("ALTER TABLE items ADD COLUMN key TEXT"); + var items = Zotero.DB.query("SELECT itemID, itemTypeID, dateAdded FROM items"); var titles = Zotero.DB.query("SELECT itemID, value FROM itemData NATURAL JOIN itemDataValues WHERE fieldID BETWEEN 110 AND 112"); var statement = Zotero.DB.getStatement("UPDATE items SET key=? WHERE itemID=?"); for (var j=0, len=items.length; j<len; j++) { var key = Zotero.ID.getKey(); + if (key == 'AJ4PT6IT') { + j--; + continue; + } + else if (items[j].itemID == 123456789) { + key = 'AJ4PT6IT'; + } statement.bindStringParameter(0, key); statement.bindInt32Parameter(1, items[j].itemID); try { @@ -1610,6 +1618,29 @@ Zotero.Schema = new function(){ + moveReport; Zotero.File.putContents(moveReportFile, moveReport); } + + + // Migrate big integers + var itemIDs = Zotero.DB.columnQuery("SELECT itemID FROM items WHERE itemID>16777215"); + for each(var oldID in itemIDs) { + var newID = Zotero.ID.get('items'); + var params = [newID, oldID]; + Zotero.DB.query("UPDATE items SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE annotations SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE collectionItems SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE highlights SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemCreators SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemAttachments SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemAttachments SET sourceItemID=? WHERE sourceItemID=?", params); + Zotero.DB.query("UPDATE itemData SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemNotes SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemNotes SET sourceItemID=? WHERE sourceItemID=?", params); + Zotero.DB.query("UPDATE itemSeeAlso SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE itemSeeAlso SET linkedItemID=? WHERE linkedItemID=?", params); + Zotero.DB.query("UPDATE itemTags SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE fulltextItemWords SET itemID=? WHERE itemID=?", params); + Zotero.DB.query("UPDATE fulltextItems SET itemID=? WHERE itemID=?", params); + } } }