DB problem after upgrading from 3.0.2 to 3.1.1

After upgrading form 3.0.2 to 3.1.1 I cannot start and I get the following message:

DB Error: Table ‘xxx.navigation_menu_items’ doesn’t exist

What can I do?

Thanks

Hi @Erick,

Have you run the database upgrade step documented in docs/UPGRADE?

Regards,
Alec Smecher
Public Knowledge Project Team

Ooops sorry.
Now I ran the upgrade through web interface (http://domain/aeet-rel2/index.php/rel/install/installUpgrade) but the process desn’t complete, page stay in blank and in the log there are a lot of errors like:

01-Jun-2018 10:29:05 Europe/Madrid] PHP Strict Standards: Declaration of LensGalleyPlugin::register() should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /home/urgcnwev/public_html/aeet-rel2/plugins/generic/lensGalley/LensGalleyPlugin.inc.php on line 0
[01-Jun-2018 10:29:05 Europe/Madrid] PHP Strict Standards: Declaration of PKPUsageEventPlugin::getEnabled() should be compatible with LazyLoadPlugin::getEnabled($contextId = NULL) in /home/urgcnwev/public_html/aeet-rel2/lib/pkp/plugins/generic/usageEvent/PKPUsageEventPlugin.inc.php on line 0
[01-Jun-2018 10:29:05 Europe/Madrid] PHP Strict Standards: Declaration of InstallHandler::validate() should be compatible with PKPHandler::validate($requiredContexts = NULL, $request = NULL) in /home/urgcnwev/public_html/aeet-rel2/lib/pkp/pages/install/InstallHandler.inc.php on line 0
[01-Jun-2018 10:29:05 Europe/Madrid] PHP Deprecated: Non-static method PKPRequest::isPost() should not be called statically, assuming $this from incompatible context in /home/urgcnwev/public_html/aeet-rel2/lib/pkp/classes/form/validation/FormValidatorPost.inc.php on line 38
[01-Jun-2018 10:29:05 Europe/Madrid] PHP Deprecated: Non-static method PKPRequest::_checkThis() should not be called statically, assuming $this from incompatible context in /home/urgcnwev/public_html/aeet-rel2/lib/pkp/classes/core/PKPRequest.inc.php on line 396
[01-Jun-2018 10:29:05 Europe/Madrid] PHP Fatal error: Class PKPNlm30MetadataPlugin contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (MetadataPlugin::supportsFormat, MetadataPlugin::getSchemaObject) in /home/urgcnwev/public_html/aeet-rel2/lib/pkp/plugins/metadata/nlm30/PKPNlm30MetadataPlugin.inc.php on line 22

Hi @Erick,

Did you unpack the OJS 3.1.1 files over top of the 3.0.2 files? If so, you’ll have a mix of the two versions. It’s better to unpack the 3.1.1 files into a new directory. See docs/UPGRADE for directions.

Regards,
Alec Smecher
Public Knowledge Project Team

I did this way and it works.

Thanks

Hi @asmecher, (and sorry for reviving) I also unpacked over… and now the Plugins-Page in the administration will not load (the rest of the site seems to work normal). The error-ssl.log shows:

PHP Fatal error:  Class PKPNlm30MetadataPlugin contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (MetadataPlugin::supportsFormat, MetadataPlugin::getSchemaObject) in /var/www/html/lib/pkp/plugins/metadata/nlm30/PKPNlm30MetadataPlugin.inc.php on line 0

The regarding folders in the plugins/metadata are all from the newer 3.1.2 but the nlm30 folder is half a year older. To solve, can I just delete the folder (and also citationLookup/ and citationParser/ ) and then use php tools/upgrade.php upgrade anew?

Now the funny thing is, that on our testserver running the same setup this problem does not arise. The only difference I can see there is the date of the folders in plugins/ and plugins/metadata are all the same date (from when the cloning was done).

Hi @CEubt,

It’s best not to unpack the new version over top of the old one. Check the instructions in docs/UPGRADE (or docs/UPGRADE.md) under “Full Package”.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,

yes yes, I know from your post directly above. I wanted to know how to solve the problem I was describing. Just delete the two or three old plugin folders and do the php tools/upgrade.php upgrade again?
Thank you.

Hi @CEubt,

I don’t believe you would need to run the upgrade script again, just to clean up the extra files left over after unpacking new code over old.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,

simply deleting the three old plugin folders did the trick. I did not have to run the update script.
Thank you!