Restoration from Softaculous backup arising DB Error (OJS 3.2.1.2)!

I upgraded the website to OJS 3.2.1.2 in April 2021 and now I tried to upgrade it to OJS 3.3.0.6 but failed.

I have taken backup (OJS 3.2.1.2) with Softaculous before initiating the upgrade process.
After the failed upgrade I restored the website from Softaculous backup (OJS 3.2.1.2) but now restoration from fresh backup is displaying the following errors!

[10-Jun-2021 05:37:36 UTC] PHP Fatal error: Uncaught Exception: DB Error: Unknown column ‘p.locale’ in ‘field list’ Query: select *, p.locale as submission_locale from authors as a left join publications as p on a.publication_id = p.publication_id where a.publication_id in (?) order by a.seq asc in /home/busjournal/public_html/lib/pkp/classes/db/DAO.inc.php:703

Stack trace:
#0 /home/busjournal/public_html/lib/pkp/classes/db/DAO.inc.php(103): DAO->handleError(Object(ADODB_mysqli), ‘select *, p....') #1 /home/busjournal/public_html/lib/pkp/classes/db/DAO.inc.php(201): DAO->retrieve('select *, p.…’, Array, false)
#2 /home/busjournal/public_html/lib/pkp/classes/services/PKPAuthorService.inc.php(66): DAO->retrieveRange(‘select *, p.`…’, Array)
#3 /home/busjournal/public_html/lib/pkp/classes/publication/PKPPublicationDAO.inc.php(54): PKP\Services\PKPAuthorService->getMany(Array)
#4 /home/busjournal/public_html/classes/publication/PublicationDAO.inc.php(40): PKPPublicationDAO->_fromRow(Array)
#5 /home/busjournal/publi in /home/busjournal/public_html/lib/pkp/classes/db/DAO.inc.php on line 703

Please help me to solve this issue.

Note that I got successful message during backup and restore.

Regards

When you say “I restored the website from Softaculous backup (OJS 3.2.1.2)”, was that successful, or are you referring to the same restore action when you say, “but now restoration from fresh backup is displaying the following errors”?

The error message seems to indicate a discrepancy between the version of the OJS application files, and the version of the database.

@ctgraham The restore was successful from Softaculous backup. And I have only Softaculous backup.

Did the application work after the restore from the Softaculous backup, or did you see the error message in OJS immediately?

@ctgraham after restore from Softaculous backup when I visit the website I got the error message.

We aren’t able to see how Softaculous performs the backup and restore process, but I did test a Softaculous backup and restore of 3.3.0-6.

In my case, I noted that:

  • I did not get any on-screen feedback that the restore actually completed successfully.
  • The database appeared to be dropped, and recreated, as expected.
  • The application directory and the datafiles directory both appeared to have files added from the backup, but already existing files were not removed in the restore process.
    • For a backup and restore process to be accurate, it should remove any unrecognized files in the target path, as well as re-adding the known missing files.

My recommendation would be to remove all the files from the application directory and from the data files directory, and then run the restore from Softaculous again. I tried this in my own cPanel, and it worked successfully, but of course I can’t guarantee it in your host. Please be sure you are confident in knowing where Softaculous has installed the application and the datafiles before attempting this.

Be sure you download and secure a copy of your existing backup. Softaculous is usually configured to automatically discard backups after a certain amount of time.

@ctgraham I have created backups of other four OJS websites and also restored them in last week without any issue but this one is causing problem.

Softaculous always show successful message if you wait on the screen. And you will also get email notification.

I have tried restoring the backup in another server also but same error!

This makes it sound like the backup itself is corrupt.

My next step if I were you would be to look at the versions table in the database to find what version (major, minor, revision, build is marked as current for the product of “ojs2” and the product_type of “core”).

Then, compare that version information against the version of the OJS application files (e.g. docs/README.md).

If there is a difference, restore the database with a fresh copy of the OJS application files matching that version.