Upgrade OJS-3.2.0-3 to OJS-3.2.1 Error: Upgrade failed: DB: Duplicate column name 'assoc_type

I’m trying to upgrade OJS version 3.2.0-3 to 3.2.1 and failed.
I upgrade using command line php tools/upgrade.php upgrade. The Following error:

[pre-install]
[load: upgrade.xml]
[version: 3.2.1.0]

[code: Installer Installer::checkPhpVersion]
[data: dbscripts/xml/upgrade/3.2.1_preupdate_subeditor_categories.xml]
ERROR: Upgrade failed: DB: Duplicate column name ‘assoc_type’

Anyone experiencing this as well?

Thanks,
Pahmil

Hi Pahmil,

Is this your first time running the upgrade? If the column already exists from a previous upgrade attempt that failed, this is what would happen.

Best,
Jason

Hi jnugent,

this promblem has been resolved, i restore from database backup and run upgrade again to 3.2.1. But when i run upgrade from 3.2.1 to ojs 3.3.0, i got error again when during upgrade. this is the error:

[pre-install]
[load: upgrade.xml]
[version: 3.3.0.2]

[code: Installer Installer::checkPhpVersion]

[code: Installer Installer::installDefaultNavigationMenus]
WARNING: The NavigationMenu (ContextId: 1, Title: User Navigation Menu, Area: user) will be skipped because the specified area has already a NavigationMenu attached.
WARNING: The NavigationMenu (ContextId: 1, Title: Primary Navigation Menu, Area: primary) will 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]
[migration: PKPv3_3_0UpgradeMigration]
ERROR: Upgrade failed: DB: SQLSTATE[01000]: Warning: 1265 Data truncated for column ‘review_round_id’ at row 3 (SQL: ALTER TABLE review_assignments CHANGE review_round_id review_round_id BIGINT NOT NULL)

Any suggestion for the error?

You may have to restore from backup again, and then go looking at the review_round_id column in your review_assignments table. I suspect you have some data inconsistency in there, whether it be an empty value, a string that isn’t an integer, or a number that is too large for the field type. A “data truncated” error means that MySQL couldn’t fit what used to be in that field into the new field definition.

Best
Jason