MDL-60126 core: upgrade step to clean user comp

This commit is contained in:
Simey Lameze 2017-09-14 10:04:55 +08:00 committed by Mihail Geshoski
parent 2595d450e0
commit 507c34820c
2 changed files with 44 additions and 1 deletions

View File

@ -2172,5 +2172,48 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint(true, 2020011700.02);
}
if ($oldversion < 2020013000.01) {
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, 2020013000.01);
}
return true;
}

View File

@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2020013000.00; // YYYYMMDD = weekly release date of this DEV branch.
$version = 2020013000.01; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
$release = '3.9dev (Build: 20200130)'; // Human-friendly version name