pkp / pkp-lib

The library used by PKP's applications OJS, OMP and OPS, open source software for scholarly publishing.
https://pkp.sfu.ca
GNU General Public License v3.0
297 stars 443 forks source link

[OJS] Failure at upgrade script #8841

Closed jonasraoni closed 1 year ago

jonasraoni commented 1 year ago

Describe the bug The migration I8508_ConvertCurrentLogFile ends up at this line:

https://github.com/pkp/pkp-lib/blob/1ca5098d7090ba82a0fd2523c42c614583ac2fac/classes/cliTool/ConvertLogFile.php#L699

At this time, the migration I6241_RequiredGenres didn't run yet, therefore there's no required field at the table genres and an error happens.

To Reproduce https://app.travis-ci.com/github/pkp/ojs/jobs/598613689#L905

What application are you using? OJS 3.4.0rc1

Additional Information Error message:

PHP Fatal error:  Uncaught TypeError: PKP\submission\Genre::setRequired(): Argument #1 ($required) must be of type bool, null given, called in /home/travis/build/pkp/ojs/lib/pkp/classes/submission/GenreDAO.php on line 250 and defined in /home/travis/build/pkp/ojs/lib/pkp/classes/submission/Genre.php:212
Stack trace:
#0 /home/travis/build/pkp/ojs/lib/pkp/classes/submission/GenreDAO.php(250): PKP\submission\Genre->setRequired(NULL)
#1 /home/travis/build/pkp/ojs/lib/pkp/classes/submission/GenreDAO.php(52): PKP\submission\GenreDAO->_fromRow(Array)
#2 /home/travis/build/pkp/ojs/lib/pkp/classes/cliTool/ConvertLogFile.php(699): PKP\submission\GenreDAO->getById(1)
#3 /home/travis/build/pkp/ojs/lib/pkp/classes/cliTool/ConvertLogFile.php(547): PKP\cliTool\ConvertLogFile->setOJSAssoc(515, Array, Array)
#4 /home/travis/build/pkp/ojs/lib/pkp/classes/cliTool/ConvertLogFile.php(184): PKP\cliTool\ConvertLogFile->setAssoc(515, 'download', Array, Array)
#5 /home/travis/build/pkp/ojs/lib/pkp/classes/migration/upgrade/v3_4_0/I8508_ConvertCurrentLogFile.php(38): PKP\cliTool\ConvertLogFile->convert('usage_events_20...')
#6 /home/travis/build/pkp/ojs/lib/pkp/classes/install/Installer.php(461): PKP\migration\upgrade\v3_4_0\I8508_ConvertCurrentLogFile->up()
#7 /home/travis/build/pkp/ojs/lib/pkp/classes/install/Installer.php(290): PKP\install\Installer->executeAction(Array)
#8 /home/travis/build/pkp/ojs/lib/pkp/classes/install/Installer.php(205): PKP\install\Installer->executeInstaller()
#9 /home/travis/build/pkp/ojs/lib/pkp/classes/cliTool/UpgradeTool.php(95): PKP\install\Installer->execute()
#10 /home/travis/build/pkp/ojs/lib/pkp/classes/cliTool/UpgradeTool.php(68): PKP\cliTool\UpgradeTool->upgrade()
#11 /home/travis/build/pkp/ojs/tools/upgrade.php(21): PKP\cliTool\UpgradeTool->execute()
#12 {main}
  thrown in /home/travis/build/pkp/ojs/lib/pkp/classes/submission/Genre.php on line 212
asmecher commented 1 year ago

(Heads-up on this one, @bozana!)

bozana commented 1 year ago

Yes, I am taking a look...

bozana commented 1 year ago

The new PRs are in this issue: https://github.com/pkp/pkp-lib/issues/8804 Once the tests are solved there I will close this issue...