diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index b6c81d2112e..16f2a29b1ad 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -3464,5 +3464,23 @@ function xmldb_main_upgrade($oldversion) { // Main savepoint reached. upgrade_main_savepoint(true, 2019073100.00); } + + if ($oldversion < 2019083000.01) { + // Delete "orphaned" subscriptions. + $sql = "SELECT DISTINCT es.userid + FROM {event_subscriptions} es + LEFT JOIN {user} u ON u.id = es.userid + WHERE u.deleted = 1 OR u.id IS NULL"; + $deletedusers = $DB->get_field_sql($sql); + if ($deletedusers) { + list($sql, $params) = $DB->get_in_or_equal($deletedusers); + + // Delete orphaned subscriptions. + $DB->execute("DELETE FROM {event_subscriptions} WHERE userid " . $sql, $params); + } + + upgrade_main_savepoint(true, 2019083000.01); + } + return true; } diff --git a/version.php b/version.php index 1a5a4ba23f9..0b39658e347 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2019083000.00; // YYYYMMDD = weekly release date of this DEV branch. +$version = 2019083000.01; // YYYYMMDD = weekly release date of this DEV branch. // RR = release increments - 00 in DEV branches. // .XX = incremental changes.