diff --git a/admin/tool/dataprivacy/db/upgrade.php b/admin/tool/dataprivacy/db/upgrade.php index 2f52d4857c6..99fd1568ddb 100644 --- a/admin/tool/dataprivacy/db/upgrade.php +++ b/admin/tool/dataprivacy/db/upgrade.php @@ -299,5 +299,19 @@ function xmldb_tool_dataprivacy_upgrade($oldversion) { upgrade_plugin_savepoint(true, 2018110700, 'tool', 'dataprivacy'); } + if ($oldversion < 2018112500) { + // Delete orphaned data privacy requests. + $sql = "SELECT r.id + FROM {tool_dataprivacy_request} r LEFT JOIN {user} u ON r.userid = u.id + WHERE u.id IS NULL"; + $orphaned = $DB->get_fieldset_sql($sql); + + if ($orphaned) { + $DB->delete_records_list('tool_dataprivacy_request', 'id', $orphaned); + } + + upgrade_plugin_savepoint(true, 2018112500, 'tool', 'dataprivacy'); + } + return true; } diff --git a/admin/tool/dataprivacy/version.php b/admin/tool/dataprivacy/version.php index d25e4c87960..24cc5a6da51 100644 --- a/admin/tool/dataprivacy/version.php +++ b/admin/tool/dataprivacy/version.php @@ -24,6 +24,6 @@ defined('MOODLE_INTERNAL') || die; -$plugin->version = 2018110900; +$plugin->version = 2018112500; $plugin->requires = 2018050800; // Moodle 3.5dev (Build 2018031600) and upwards. $plugin->component = 'tool_dataprivacy';