OJS 3.1.1 to 3.2.1-4 ERROR: Upgrade failed: DB: Column 'publication_id' cannot be null

Hi all,
I’m working on upgrading our sites to latest version of OJS, current installed version is 3.1.1. but constantly getting error Upgrade failed: DB: Column ‘publication_id’ cannot be null.

here is code:

-----

PKP-Database-Logger 1624450178.5613: -----
(mysqli):
                        UPDATE citations as c
                        SET c.publication_id = (
                                SELECT s.current_publication_id
                                FROM submissions as s
                                JOIN temp_citations as tc ON s.submission_id = tc.submission_id
                                WHERE c.citation_id = tc.citation_id
                        ) ORDER BY c.publication_id ASC


-----

PKP-Database-Logger 1624450178.5613: Query:
                        UPDATE citations as c
                        SET c.publication_id = (
                                SELECT s.current_publication_id
                                FROM submissions as s
                                JOIN temp_citations as tc ON s.submission_id = tc.submission_id
                                WHERE c.citation_id = tc.citation_id
                        ) ORDER BY c.publication_id ASC
                 failed. Column 'publication_id' cannot be null
PKP-Database-Logger 1624450178.5613: 1048: Column 'publication_id' cannot be null
                                                        ADOConnection._Execute(                         UPDATE citations as c                   SET c.publication_id = (                                SELECT s.current_publication_id                              FROM submissions as s                           JOIN tem..., false)% line 1241, file: /var/www/clients/client1/web5/web/lib/pkp/lib/vendor/adodb/adodb-php/adodb.inc.php
                                                ADOConnection.Execute(                  UPDATE citations as c                   SET c.publication_id = (                                SELECT s.current_publication_id             FROM submissions as s                            JOIN tem...)% line  442, file: /var/www/clients/client1/web5/web/lib/pkp/classes/install/Installer.inc.php
                                        Installer.executeSQL(                   UPDATE citations as c                   SET c.publication_id = (                                SELECT s.current_publication_id                     FROM submissions as s                            JOIN tem...)% line  437, file: /var/www/clients/client1/web5/web/lib/pkp/classes/install/Installer.inc.php
                                Installer.executeSQL(Array[30])% line  395, file: /var/www/clients/client1/web5/web/lib/pkp/classes/install/Installer.inc.php
                        Installer.executeAction(Array[3])% line  263, file: /var/www/clients/client1/web5/web/lib/pkp/classes/install/Installer.inc.php
ERROR: Upgrade failed: DB: Column 'publication_id' cannot be null
PKP-Database-Logger 1624450178.5613: -----
(mysqli): UPDATE sessions
                                SET
                                        user_id = NULL,
                                        ip_address = '',
                                        user_agent = '',
                                        created = 1624450178,
                                        last_used = 1624450178,
                                        remember = 0,
                                        data = '',
                                        domain = ''
                                WHERE session_id = 'm4kmi9d37v3i7dsf5bts87odf5'

Hi @knjigor

I am aware you are attempting to upgrade OJS, however this solution for OMP might work, because it is a similar issue:

Best,
Israel

Hi @israel.cefrin Thanks for quick reply. I have upgraded OJS from 3.1.0.1 to 3.1.2.4 without errors, but in my db I can’t find publication_formats table, and regarding submission_id = NULL I went searching trough whole db and couldn’t find null anywhere where it shouldn’t be.

I have just try to upgrade to ojs-3.2.0 but got same error:

root@server3-1:/var/www/clients/client1/web5/web/tools# php upgrade.php upgrade
PHP Warning:  Use of undefined constant SCHEMA_PUBLICATION - assumed 'SCHEMA_PUBLICATION' (t                                                                               his will throw an Error in a future version of PHP) in /var/www/clients/client1/web5/web/lib                                                                               /pkp/includes/functions.inc.php on line 223

Warning: Use of undefined constant SCHEMA_PUBLICATION - assumed 'SCHEMA_PUBLICATION' (this w                                                                               ill throw an Error in a future version of PHP) in /var/www/clients/client1/web5/web/lib/pkp/                                                                               includes/functions.inc.php on line 223
PHP Warning:  Use of undefined constant SCHEMA_PUBLICATION - assumed 'SCHEMA_PUBLICATION' (t                                                                               his will throw an Error in a future version of PHP) in /var/www/clients/client1/web5/web/lib                                                                               /pkp/includes/functions.inc.php on line 223

Warning: Use of undefined constant SCHEMA_PUBLICATION - assumed 'SCHEMA_PUBLICATION' (this w                                                                               ill throw an Error in a future version of PHP) in /var/www/clients/client1/web5/web/lib/pkp/                                                                               includes/functions.inc.php on line 223
PHP Warning:  Creating default object from empty value in /var/www/clients/client1/web5/web/                                                                               classes/plugins/PubObjectsExportPlugin.inc.php on line 62

Warning: Creating default object from empty value in /var/www/clients/client1/web5/web/class                                                                               es/plugins/PubObjectsExportPlugin.inc.php on line 62
[pre-install]
[load: upgrade.xml]
[version: 3.2.0.0]
[code: Installer Installer::checkPhpVersion]
[code: Installer Installer::migrateSubmissionCoverImages]
[data: dbscripts/xml/upgrade/3.2.0_preupdate_email_templates.xml]
[data: dbscripts/xml/upgrade/3.2.0_preupdate_versioning_articleGalleySettings.xml (skipped)]
[data: dbscripts/xml/upgrade/3.2.0_preupdate_versioning.xml]
[data: dbscripts/xml/upgrade/3.2.0_preupdate_last_activity.xml]
[schema: lib/pkp/xml/schema/common.xml]
[schema: lib/pkp/xml/schema/log.xml]
[schema: lib/pkp/xml/schema/announcements.xml]
[schema: lib/pkp/xml/schema/scheduledTasks.xml]
[schema: lib/pkp/xml/schema/temporaryFiles.xml]
[schema: lib/pkp/xml/schema/metadata.xml]
[schema: lib/pkp/xml/schema/reviews.xml]
[schema: lib/pkp/xml/schema/reviewForms.xml]
[schema: lib/pkp/xml/schema/controlledVocab.xml]
[schema: lib/pkp/xml/schema/submissions.xml]
[schema: lib/pkp/xml/schema/submissionFiles.xml]
[schema: lib/pkp/xml/schema/categories.xml]
[schema: lib/pkp/xml/schema/notes.xml]
[schema: lib/pkp/xml/schema/genres.xml]
[schema: lib/pkp/xml/schema/tombstone.xml]
[schema: lib/pkp/xml/schema/rolesAndUserGroups.xml]
[schema: lib/pkp/xml/schema/metrics.xml]
[schema: lib/pkp/xml/schema/views.xml]
[schema: lib/pkp/xml/schema/libraryFiles.xml]
[schema: lib/pkp/xml/schema/navigationMenus.xml]
[schema: dbscripts/xml/ojs_schema.xml]
[data: dbscripts/xml/indexes.xml]
[code: Installer Installer::installDefaultNavigationMenus]
WARNING: The NavigationMenu (ContextId: 6, Title: User Navigation Menu, Area: user) will be                                                                                skipped because the specified area has already a NavigationMenu attached.
WARNING: The NavigationMenu (ContextId: 6, Title: Primary Navigation Menu, Area: primary) wi                                                                               ll be skipped because the specified area has already a NavigationMenu attached.
WARNING: The NavigationMenu (ContextId: 0, Title: User Navigation Menu, Area: user) will be                                                                                skipped because the specified area has already a NavigationMenu attached.
[code: Installer Installer::migrateStaticPagesToNavigationMenuItems]
[code: Installer Installer::migrateUserAndAuthorNames (skipped)]
[data: dbscripts/xml/upgrade/3.2.0_stylesheet.xml]
[data: dbscripts/xml/upgrade/3.2.0_archiving_settings.xml]
[data: dbscripts/xml/upgrade/3.2.0_update.xml]
[data: dbscripts/xml/upgrade/3.2.0_navigation_menu_items_locale_change.xml]
[code: Installer Installer::migrateSiteLocales]
[code: Installer Installer::migrateSidebarBlocks]
PHP Notice:  Array to string conversion in /var/www/clients/client1/web5/web/lib/pkp/classes                                                                               /install/Installer.inc.php on line 828

Notice: Array to string conversion in /var/www/clients/client1/web5/web/lib/pkp/classes/inst                                                                               all/Installer.inc.php on line 828
[code: Installer Installer::migrateSiteStylesheet]
[code: Installer Installer::migrateMetadataSettings]
[code: Installer Installer::createLicenseTerms]
[code: Installer Installer::installEmailTemplate]
[code: Installer Installer::changeUserRolesAndStageAssignmentsForStagePermitSubmissionEdit]
[data: dbscripts/xml/upgrade/3.2.0_versioning.xml]
ERROR: Upgrade failed: DB: Column 'publication_id' cannot be null

Hi @knjigor

There is an issue from last year with the error as well. Could you please follow the instructions from that thread and let us know whether it works for you?

Best,
Israel

Hi @israel.cefrin

Thank You for help, that solved all problems during upgrade process.