Problem to upgrade database version from 3.1.0 to 3.1.2-4

Dear,

I´m trying to upgrade OJS from verion 3.1.0 to version 3.1.2-4. Whey i execute the script to upgrade tha database version I´m receiving the following error:

PHP Fatal error: Uncaught Error: Class ‘ADODB2_postgres’ not found in /var/www/ojs-3.1.2-4/lib/pkp/lib/adodb/adodb.inc.php:4436
Stack trace:
#0 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(682): NewDataDictionary()
#1 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(388) : eval()'d code(1): Installer->columnExists()
#2 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(388): eval()
#3 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(390): Installer->{closure}()
#4 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(265): Installer->executeAction()
#5 /var/www/ojs-3.1.2-4/lib/pkp/classes/install/Installer.inc.php(186): Installer->executeInstaller()
#6 /var/www/ojs-3.1.2-4/lib/pkp/classes/cliTool/UpgradeTool.inc.php(88): Installer->execute()
#7 /var/www/ojs-3.1.2-4/lib/pkp/classes/cliTool/UpgradeTool.inc.php(64): UpgradeTool->upgrade()
#8 /var/www/ojs-3.1.2-4/tools/upgrade.php(34): UpgradeTool->execute()
#9 {main}
thrown in /var/www/ojs-3.1.2-4/lib/pkp/lib/adodb/adodb.inc.php on line 4436

I think is missing the adodb class. If i need to install it, how could i do that?

The command i´m executing the upgrade is php74 tools/upgrade.php upgrade. I´m executing it from /var/www/ojs-3.1.2-4/ directory.

Hi @Marcio,

Check the contents of lib/pkp/lib/adodb/datadict/datadict-postgres.inc.php; I suspect they have been modified somehow.

Regards,
Alec Smecher
Public Knowledge Project Team

Will you please let me know the steps to upgrade the OJS!!
Thanks please.

In my ojs-3.1.2-4 this file is completely empty. Is it normal? Follow the output from ls -l command in lib/pkp/lib/adodb/datadict/ directory.

image

Hi @Marcio,

That’s definitely the problem; I’m not sure why yours is empty, but if you check the OJS download, you’ll see that file has contents.

Regards,
Alec Smecher
Public Knowledge Project Team

asmecher, Thanks for answer me. I copied the datadict-postgres.inc.php file again and this error was solved but now I´m receiving the following error:

Do you think i need download and reinstall OJS again? Looks like some files were not downloaded properly.

Hi @Marcio,

That might be the best approach – I’m not sure what happened on your system, but your files are definitely different from the ones that ship in the .tar.gz file.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

Thanks for Help me. I upgraded the OJS sucessfully. I only did three steps:

Downloaded the OJS code again

Installed a dump from older OJS database

Executed the database upgrade script

Thanks a lot.

1 Like