Zotero 5.0: Migrate zotero 4.0 database

I need to use Zoteto 4.0 database in the Zotero 5.0. Please guide me to migrate the old database.
  • edited August 26, 2022
    Not sure what your question is exactly. Have you tried just installing the latest version of Zotero? Was there a problem?

    The current version of Zotero is Zotero 6. Zotero 5 is no longer supported.
  • I have installed Zotero 5. I need to use old database. The old database is zotero 4.

    My question is that how to use old local database in Zotero 5 or 6.
  • edited August 26, 2022
    You can just install the new version. As long as your database is in the same place in your Zotero data directory, the new version should upgrade and use it automatically.
  • Thank you for your reply.

    I have tried with old Zotero 4 database as per your instruction. but I am getting the below error. Please guide me to resolve it.

    The error details is too long. Please check the next two comments to get the error details.

    Error details: Part (1 of 2)

    There was an error starting Zotero.

    You can report this problem in the Zotero Forums.

    Error: Error(s) encountered during statement execution: no such column: false [QUERY: SELECT O.itemID, O.itemTypeID, O.dateAdded, O.dateModified, O.libraryID, O.key, O.version, O.synced, createdByUserID, lastModifiedByUserID, COALESCE(CASE (SELECT COUNT(*) FROM itemCreators IC LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1) WHEN 2 THEN (SELECT (SELECT lastName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1) || ' and ' || (SELECT lastName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1,1)) ELSE (SELECT (SELECT lastName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1) || ' et al.' ) END, CASE (SELECT COUNT(*) FROM itemCreators WHERE itemID=O.itemID AND creatorTypeID=3) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3) WHEN 2 THEN (SELECT (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1) || ' and ' || (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1,1) ) ELSE (SELECT (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1) || ' et al.' ) END, CASE (SELECT COUNT(*) FROM itemCreators WHERE itemID=O.itemID AND creatorTypeID=2) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2) WHEN 2 THEN (SELECT (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1) || ' and ' || (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1,1) ) ELSE (SELECT (SELECT lastName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1) || ' et al.' ) END) AS firstCreator, COALESCE(CASE (SELECT COUNT(*) FROM itemCreators IC LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1) WHEN 2 THEN (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1,1)) ELSE (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex LIMIT 1,1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators IC NATURAL JOIN creators LEFT JOIN itemTypeCreatorTypes ITCT ON (IC.creatorTypeID=ITCT.creatorTypeID AND ITCT.itemTypeID=O.itemTypeID) WHERE itemID=O.itemID AND primaryField=1 ORDER BY orderIndex
  • Error Details: (Part 2 of 2)

    LIMIT 2,1)) END, CASE (SELECT COUNT(*) FROM itemCreators WHERE itemID=O.itemID AND creatorTypeID=3) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3) WHEN 2 THEN (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1,1) ) ELSE (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 1,1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=3 ORDER BY orderIndex LIMIT 2,1)) END, CASE (SELECT COUNT(*) FROM itemCreators WHERE itemID=O.itemID AND creatorTypeID=2) WHEN 0 THEN NULL WHEN 1 THEN (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2) WHEN 2 THEN (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1,1) ) ELSE (SELECT (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 1,1) || ' ' || (SELECT lastName || ' ' || firstName FROM itemCreators NATURAL JOIN creators WHERE itemID=O.itemID AND creatorTypeID=2 ORDER BY orderIndex LIMIT 2,1)) END) AS sortCreator, DI.itemID IS NOT NULL AS deleted, PI.itemID IS NOT NULL AS inPublications, (CASE O.itemTypeID WHEN 14 THEN IAP.itemID WHEN 1 THEN INoP.itemID WHEN false THEN IAnP.itemID END) AS parentID, (CASE O.itemTypeID WHEN 14 THEN IAP.key WHEN 1 THEN INoP.key WHEN false THEN IAnP.key END) AS parentKey, CS.charset AS attachmentCharset, IA.linkMode AS attachmentLinkMode, IA.contentType AS attachmentContentType, IA.path AS attachmentPath, IA.syncState AS attachmentSyncState, IA.storageModTime AS attachmentSyncedModificationTime, IA.storageHash AS attachmentSyncedHash, IA.lastProcessedModificationTime AS attachmentLastProcessedModificationTime, FI.guid AS feedItemGUID, FI.readTime AS feedItemReadTime, FI.translatedTime AS feedItemTranslatedTime FROM items O LEFT JOIN itemAttachments IA USING (itemID) LEFT JOIN items IAP ON (IA.parentItemID=IAP.itemID) LEFT JOIN itemNotes INo ON (O.itemID=INo.itemID) LEFT JOIN items INoP ON (INo.parentItemID=INoP.itemID) LEFT JOIN itemAnnotations IAn ON (O.itemID=IAn.itemID) LEFT JOIN items IAnP ON (IAn.parentItemID=IAnP.itemID) LEFT JOIN deletedItems DI ON (O.itemID=DI.itemID) LEFT JOIN publicationsItems PI ON (O.itemID=PI.itemID) LEFT JOIN charsets CS ON (IA.charsetID=CS.charsetID)LEFT JOIN groupItems GI ON (O.itemID=GI.itemID) LEFT JOIN feedItems FI ON (FI.itemID=O.itemID) WHERE 1 AND O.itemID IN (107)] [PARAMS: ] [ERROR: no such column: false]
    Zotero.DBConnection.prototype.queryAsync<@chrome://zotero/content/xpcom/db.js:675:13
    From previous event:
    Zotero.Schema</this.migrateExtraFields@chrome://zotero/content/xpcom/schema.js:674:23
  • edited August 29, 2022
    Can you go to your Zotero data directory, look for an upgrade.log file in the 'logs' folder, and email it to support@zotero.org with a link to this thread?

    After that, you may be able to work around this by installing Zotero 5 — if you tell us the OS you're using we can provide a download link — but it should be possible to upgrade directly. There may just be a problem with your Zotero 4 database that's not being properly handled.
  • I have resolved the issue and Zotero 4 database is working fine with Zotero 5 version.
    The issue is that the itemTypeAnnotation table is not available in the local database. But these table name has been used in the query. I have commented that line in the above query. Now It is working fine. Please share your comments if you know about usage of table itemTypeAnnotation.

    Thank You
  • No, don't change any code — we're not going to be able to help you further here if you're running a modified version of Zotero. If there's a problem, we'll fix it. I asked for specific information to help us debug this. Upgrading from Zotero 4 to 6 works in general, but there seems to be a problem with your database that's preventing that from happening.
  • I have reverted the updated script in the Zotero. Please guide me to resolve the issues without updating the script.

    Thank You
  • Well, I don't know what the current state of your library is. Are you running Zotero 5? Does the problem still happen if you now install Zotero 6? If so, I asked for specific information above to help us debug this.
  • Thank you for reply.

    The problem is happening in Zotero 5 only. Please let me know if you need more information about the issue for debugging.
  • I'm not sure what you mean by that. Is the error above from Zotero 5 or Zotero 6? Have you tried with Zotero 6?
  • I am getting an error from Zotero 5. I have not tried on Zotero 6. Currently, we are planning to use the Zotero 5 version only. We will move to the Zotero 6 version once everything is working fine in the Zotero 5 version.

  • Why would you not install the current, supported version of Zotero? As I said, we don’t support older versions.
  • We have decided to migrate to Zotero 6.0. Currently, we are using Zotero 4.0 and need to know about system and technical requirements for Zotero 6.0. Please provide the details and guide me to upgrade the version.
  • I need source files for Zotero 6.0. Request you to share the link for source files.
  • No idea what you mean by that. You can download Zotero 6 from the download page.
  • In case @dnbala is really interested in the source code, it can be found here https://github.com/zotero/zotero
  • Thank you for your reply.
Sign In or Register to comment.