From 75c21efdeab01dc5791efa37c95de59f827ae6e9 Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Thu, 14 Sep 2017 10:04:55 +0800 Subject: [PATCH] MDL-60126 core: upgrade step to clean user comp --- lib/db/upgrade.php | 43 +++++++++++++++++++++++++++++++++++++++++++ version.php | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index db969b08e50..bd9e4911c62 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -3808,5 +3808,48 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2019111801.02); } + if ($oldversion < 2019111801.05) { + global $DB; + // Delete any associated files. + $fs = get_file_storage(); + $sql = "SELECT cuc.id, cuc.userid + FROM {competency_usercomp} cuc + LEFT JOIN {user} u ON cuc.userid = u.id + WHERE u.deleted = 1"; + $usercompetencies = $DB->get_records_sql($sql); + foreach ($usercompetencies as $usercomp) { + $DB->delete_records('competency_evidence', ['usercompetencyid' => $usercomp->id]); + $DB->delete_records('competency_usercompcourse', ['userid' => $usercomp->userid]); + $DB->delete_records('competency_usercompplan', ['userid' => $usercomp->userid]); + $DB->delete_records('competency_usercomp', ['userid' => $usercomp->userid]); + } + + $sql = "SELECT cue.id, cue.userid + FROM {competency_userevidence} cue + LEFT JOIN {user} u ON cue.userid = u.id + WHERE u.deleted = 1"; + $userevidences = $DB->get_records_sql($sql); + foreach ($userevidences as $userevidence) { + $DB->delete_records('competency_userevidencecomp', ['userevidenceid' => $userevidence->id]); + $DB->delete_records('competency_userevidence', ['id' => $userevidence->id]); + + $context = context_user::instance($userevidence->userid); + $fs->delete_area_files($context->id, 'core_competency', 'userevidence', $userevidence->id); + } + + $sql = "SELECT cp.id + FROM {competency_plan} cp + LEFT JOIN {user} u ON cp.userid = u.id + WHERE u.deleted = 1"; + $userplans = $DB->get_records_sql($sql); + foreach ($userplans as $userplan) { + $DB->delete_records('competency_plancomp', ['planid' => $userplan->id]); + $DB->delete_records('competency_plan', ['id' => $userplan->id]); + } + + // Main savepoint reached. + upgrade_main_savepoint(true, 2019111801.05); + } + return true; } diff --git a/version.php b/version.php index a4ba841dd54..8891473525d 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2019111801.04; // 20191118 = branching date YYYYMMDD - do not modify! +$version = 2019111801.05; // 20191118 = branching date YYYYMMDD - do not modify! // RR = release increments - 00 in DEV branches. // .XX = incremental changes. $release = '3.8.1+ (Build: 20200130)'; // Human-friendly version name