Another upgrade from 3.3 to 3.4 issue - fails with error about dois table. How to continue?

Hi @cager,

Thanks for sharing those details. It looks like there are entries in your database for Datacite when the DOIs don’t exist on the OJS side of things. When an article DOI is created in OJS, it’s stored in the publication_settings table with a setting_name of pub-id::doi. When the DOIs are registered with Datacite, they will have two rows added to the submission_settings table—one with a setting name of datacite::registeredDoi and another with a setting name of datacite::status.

If you run the following query on your pre-upgrade database, this should identify any submissions that have datacite information without the corresponding DOI in the database.

select submission_id from submission_settings
where setting_name = 'datacite::registeredDoi'
and setting_value not in (
    select setting_value from publication_settings
    where setting_name = 'pub-id::doi'
);

This will get back a list of any submission IDs that have Datacite information in the submission_settings table but do not have a corresponding pub-id::doi entry in the publication_settings table.

For each of the submission IDs this returns, you will need to clean up any row in the submission_settings table that has a setting name of datacite::registeredDoi or datacite::status. You will, of course, want to make sure none of these DOIs are registered and supposed to exist in the publication_settings table before removing them.

Hope that helps.

Best,
Erik