Hello,
I have been unable to upgrade Moodle from where I was when the sysadmins migrated from MySQL to MariaDB. I have been occupied with other projects but now over a year later am coming back to try to solve the problem. I am posting here so that hopefully someone who knows more than me can help me with troubleshooting ideas, and if I find a solution for myself I will post it here to hopefully help someone else.
Here is what I have now.
Moodle 3.7.3
MariaDB 10.3.34
PHP 7.3.33
The only check on upgrading to 3.11 that shows up is sodium should be installed.
Background: After my first attempt at upgrading failed...
Based on some forum posts I ran the check to make sure that file structure is Baracuda and cli/mysql_compressed_rows.php showed no errors - I fixed the few errors I had found and re-exported the DB re-imported it as a new DB (I am running my upgrades in version-specific folders all on the same server )
A weird thing that I noticed is that it seems the new DB is significantly larger than the old DB even before I try the upgrade.
I got the error upgrading within 3.7 - but after I get the error if I try to continue the upgrade seems to complete, and in 3.7.9 it seems everything works ok.
Then when I upgrade to 3.9 I again get the same error and this time I get a lot of invalid permissions notifications every time I move between pages, which is what happens when I go straight from 3.7 to 3.11 too.
Here is the error:
Error writing to database
More information about this error
Debug info: Data too long for column 'capabilities' at row 1
UPDATE mdl_external_functions SET name = ?,classname = ?,methodname = ?,classpath = ?,component = ?,capabilities = ?,services = ? WHERE id=?
[array (
0 => 'core_course_update_courses',
1 => 'core_course_external',
2 => 'update_courses',
3 => 'course/externallib.php',
4 => 'moodle',
5 => 'moodle/course:update, moodle/course:changecategory, moodle/course:changefullname, moodle/course:changeshortname, moodle/course:changeidnumber, moodle/course:changesummary, moodle/course:visibility',
6 => NULL,
7 => '73',
)]
Error code: dmlwriteexception
Stack trace:
line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
line 1587 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 1619 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->update_record_raw()
line 1251 of /lib/upgradelib.php: call to mysqli_native_moodle_database->update_record()
line 1870 of /lib/upgradelib.php: call to external_update_descriptions()
line 519 of /admin/index.php: call to upgrade_core()
Appreciate any ideas -