View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0028918||mantisbt||upgrade||public||2021-07-15 09:31||2021-07-16 19:03|
|Priority||high||Severity||major||Reproducibility||have not tried|
|Summary||0028918: upgrade mantis 1.2.4 to 2.25.2|
'd tried to upgrade and got some errors. I have attached a picture of the error shown. Could you please tell me what is the issue?
After my research, I deleted some rows from mantis_config_table and mantis_filters_table
Please share what is the exact way to fix this issue.
|Tags||No tags attached.|
This removes all "complex" types from your config, which is like using a nuke to kill a mosquito... probably explains the workflow transition errors you're experiencing too. Don't do that.
The upgrade process is normally quite specific about the config which is causing a problem during upgrade; looking at the provided screenshot, the issue is with the private_bug_threshold record for all projects/all users, which apparently contains a json-encoded array of values, while the installer expects serialized data (
As you said, I deleted the 'private_bug_threshold' record for all projects/all users.
But, after that, it is shown the next error, and I deleted another record, and it continued for 15+ records. So I deleted all complex type values.
Now I imported the deleted rows into the mantis_config_table after the upgrade, it seems to work fine but still some of the complex values are showing NULL and in the database, these items have values.
Thus undoing the upgrade script's processing, which as you can imagine, is there for a reason - in this case converting complex values storage, from legacy PHP serialized data, to JSON.
You get NULLs, because Mantis is not able to interpret the serialized data as JSON.
So either keep going through the iterative process as you've been doing 15 times, until the installer continues, or devise your own conversion script based on install_check_config_serialization() function (in install_helper_functions_api.php).
I'll check if the upgrade process can be improved to process all data and report errors at the end, instead of aborting after the first error.