I've tried to upgrade from 3.7.4 to 3.9. The upgrade progress block on the message_popup stage.
I checked the database server (postgresl 12) and the query "DELETE FROM mdl_message_popup_notifications where notificationid NOT IN (SELECT id FROM mdl_notifications);" never end.
To fix the problem I had to change the query to :
$DB->execute("DELETE FROM mdl_message_popup_notifications mpn where not exists (select null from mdl_notifications n where mpn.notificationid =n.id)");
on the file : message/output/popup/db/upgrade.php
function : xmldb_message_popup_upgrade
Does someone already have this problem ?
Is it a good solution ? Indeed, on my test environment it worked but I feared to make such a patch in production environment.