Serious issue with Database upgrade (failed from 3.2.1.3 to 3.3.0.2)

I can answer my own question.

  1. Go to phpMyAdmin (or MySQL workbench or whatever database manager you’re using)
  2. Open your OJS database
  3. Click and open the submission_files table. If you’re using phMyAdmin, all of your tables should be listed as soon as you open your OJS database, so scroll down and click submission_files.
  4. In the top menu, click Operations.
  5. In the middle of the page, you’ll see Table Options. Choose InnoDB in the drop down menu for Storage Engine and click the GO button beneath.

It might also help to do the following:

  1. go to the landing page for phpMyAdmin without any databases selected
  2. Click Variables in the top menu
  3. Search for engine in the search box
  4. Edit the default storage engine so its InnoDB and not MyISAM
  5. The Storage Engine entry will change to InnoDB as well, but you can edit that too.

I’m trying to upgrade to 3.3.0-3, which appears to have all the patches installed already.

Upgrade still fails on my wampserver. I’m not going to try this on my main web host till I can get it to work on my test server.

[08-Feb-2021 18:14:50 UTC] PHP Fatal error:  Uncaught Error: Call to a member function getConnection() on null in C:\wamp64\www\ojs\lib\pkp\lib\vendor\laravel\framework\src\Illuminate\Database\Capsule\Manager.php:74

Stack trace:
#0 C:\wamp64\www\ojs\lib\pkp\lib\vendor\laravel\framework\src\Illuminate\Database\Capsule\Manager.php(200): Illuminate\Database\Capsule\Manager::connection()
#1 C:\wamp64\www\ojs\lib\pkp\classes\db\DAO.inc.php(65): Illuminate\Database\Capsule\Manager::_callStatic(‘raw’, Array)
#2 C:\wamp64\www\ojs\lib\pkp\classes\plugins\PluginSettingsDAO.inc.php(106): DAO->retrieve('SELECT setting
…’, Array)
#3 C:\wamp64\www\ojs\lib\pkp\classes\plugins\PluginSettingsDAO.inc.php(86): PluginSettingsDAO->getPluginSettings(‘0’, ‘announcementfee…’)
#4 C:\wamp64\www\ojs\lib\pkp\classes\cache\GenericCache.inc.php(63): PluginSettingsDAO->_cacheMiss(Object(FileCache), ‘enabled’)
#5 C:\wamp64\www\ojs\lib\pkp\classes\plugins\PluginSettingsDAO.inc.php(57): GenericCache->get(‘enabled’)
#6 C:\wamp64\www\ojs\lib\pkp\classes\plugins\Plugin.inc.php(463): P in C:\wamp64\www\ojs\lib\pkp\lib\vendor\laravel\framework\src\Illuminate\Database\Capsule\Manager.php on line 74

I even downloaded the OJS database, changed all MyISAM text to InnoDB, uploaded that, and the same error is logged. So there’s more to the update fails than just altering one or all tables to InnoDB.