My system:
PHP 7.4.28
Mariadb Ver 15.1 Distrib 10.5.15-MariaDB
OS: Debian GNU/Linux 11 (bullseye)
I am getting this error while upgrades:
PHP Fatal error: Uncaught Doctrine\DBAL\Schema\SchemaException: There is no column with name ‘assoc_id’ on table ‘citations’. in /var/www/html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php:86
Stack trace: #0 /var/www/html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php(711): Doctrine\DBAL\Schema\SchemaException::columnDoesNotExist() #1 /var/www/html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(884): Doctrine\DBAL\Schema\Table->getColumn() #2 /var/www/html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php(30): Illuminate\Database\Connection->getDoctrineColumn() #3 /var/www/html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php(40): Illuminate\Database\Schema\Grammars\RenameColumn::compile() #4 /var/www/html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php(128): Illuminate\Database\Sch in /var/www/vestnik/html/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php on line 86
Revert all files and database to 3.0.2.0 and try to upgrade to 3.1x first… I think there is a “gap” between 3.0x to 3.3x and upgrading directly from 3.0 to 3.3 is a “big jump” that needs some “stepstones” that exist in 3.1 and later. I use metaphors because I don’t know their technical terms.
I tried to upgrade from OJS 3.0.2.0 to OJS 3.1.2-4 and got an error:
[schema: dbscripts/xml/ojs_schema.xml]
ERROR: Upgrade failed: DB: Data too long for column ‘citations’ at row 4670
But the length of the row 4670 is only:
select LENGTH(citations) from submissions where submission_id = 4670;
±------------------+
| LENGTH(citations) |
±------------------+
| 1378 |
±------------------+
I wonder why this is not mentioned in the upgrade guide marc linked to, but I have read in the forums before that skipping minor versions is not fully supported for OJS upgrades. So you would probably need to upgrade 3.0.x.x to 3.1.x.x to 3.2.x.x and then finally to 3.3.x.x - meaning: three upgrades instead of one.
Database encoding has been mentioned by marc. You should change it to some flavor of utf8 before doing the upgrades. We ran into issues when we had not changed the collation before upgrading 3.1 to 3.2.