OJS Site migration to 2.4.6 - Database upgrade problem

Hi Alec

Thank you so much for the help that you gave.
i have managed to get hold of the database and both the private folder + Public folder. i added them both to the same version newly downloaded ojs and added the database in mysql. It all opened and works great. Next i wanted to update the site and database with the patch and php tools/upgrade.php upgrade. The Patch is successfully applied but when i attempt to run the upgrade. I get as far as i have pasted below. When i go to (index.php/journal/about/aboutThisPublishingSystem) Then i see “This site uses Open Journal Systems”.
Any advice as to what i can do next to get the database updated to the latest version? i do have
a backup of everything so i can run it again. is there a way i can get more info that can be useful?

[note: docs/release-notes/README-2.3.5]
[note: docs/release-notes/README-2.3.6]

[code: Installer Installer::migrateReviewingInterests2]
[data: dbscripts/xml/upgrade/2.3.7_update.xml]

[code: Installer Installer::removeAuthorRevisedFilesFromSignoffs]
[note: docs/release-notes/README-2.3.7]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]

[code: Installer Installer::installEmailTemplate]
[data: dbscripts/xml/upgrade/2.4.0_idupgrade_article_galleys2.xml]
[data: lib/pkp/xml/mutexData.xml]
[data: dbscripts/xml/upgrade/2.4.0_update.xml]
[note: docs/release-notes/README-2.4.0]

[code: Installer Installer::migrateNotifications]

Also when i run “tools/upgrade.php patch” i get this message

Code version:
Database version:
Latest version:
Database version is older than code version
Run “tools/upgrade.php upgrade” to update

Thanks so much for the help so far.

Kind Regards

Subject: HOW-TO: Import and Export Data Using OJS

asmecher wrote:
Hi Marten,

None of the import/export tools in OJS will capture everything.
What you want to do is get…a database dump (e.g. through phpMyAdmin)
an archive of the contents of the files directory (this is configured in
the config.inc.php configuration file, and is where all the submission
documents are stored) An archive of the “public” files directory (this is where CSS and certain other files are stored) If there are any modifications to the system you want to preserve, an archive of the code
Move all these contents to the new server, then follow the instructions in docs/UPGRADE to update the code to a new version.

Alec Smecher
Public Knowledge Project Team

Hi @Marten_Terblanche,

It looks like your upgrade output is truncated – did it just stop at that point? Have you checked your PHP error log for any relevant messages?

Alec Smecher
Public Knowledge Project Team

I have just carried out an upgrade from 2.3.x to 2.4.x and ran into the exact same problem.

To solve the problem, I had to address two issues.

Firstly, I had to address a hard disk space issue which caused the upgrade to never advance from Installer:migrateNotifications even after leaving the upgrade running for about an hour. Instead, I noticed that the server would slow down to the point that it was almost unresponsive. I had a 5.9G OJS install (with journals) on a 10G AWS EC2. Moving the journals to a second volume and freeing up disk space on the main disk got me to my next issue.

The second issue was caused by a memory exception; PHP cli was configured to use as much memory as available on the server (about 1G). The PHP process was getting terminated by Linux during the notifications migration (I.e. copying between the tables notifications_old and notifications) so migrateNotifications would start running then exit with a “Killed” message. Increasing memory to 2G solved the problem.

So to summarize the problem with the upgrade is probably related to the size of your journal VS the amount of resources you have available for the migration. Therefore you will need to:

  1. Make sure you have enough disk space,
  2. Make sure you have enough free memory or limit the amount of memory PHP can use. You may have to test out various settings to get this to work but I found of my 2G of memory PHP used about 25% and MySQL 15% during the notifications migration.

Hope this helps.


Hayden Young
KnowledgeArc Ltd