MDL-48549 mod_assign: added upgrade to clean the tables
This commit is contained in:
@@ -496,5 +496,37 @@ function xmldb_assign_upgrade($oldversion) {
|
||||
upgrade_mod_savepoint(true, 2014051201, 'assign');
|
||||
}
|
||||
|
||||
if ($oldversion < 2014051202) {
|
||||
// Delete any entries from the assign_user_flags and assign_user_mapping that are no longer required.
|
||||
if ($DB->get_dbfamily() === 'mysql') {
|
||||
$sql1 = "DELETE {assign_user_flags}
|
||||
FROM {assign_user_flags}
|
||||
LEFT JOIN {assign}
|
||||
ON {assign_user_flags}.assignment = {assign}.id
|
||||
WHERE {assign}.id IS NULL";
|
||||
|
||||
$sql2 = "DELETE {assign_user_mapping}
|
||||
FROM {assign_user_mapping}
|
||||
LEFT JOIN {assign}
|
||||
ON {assign_user_mapping}.assignment = {assign}.id
|
||||
WHERE {assign}.id IS NULL";
|
||||
} else {
|
||||
$sql1 = "DELETE FROM {assign_user_flags}
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 'x' FROM {assign}
|
||||
WHERE {assign_user_flags}.assignment = {assign}.id)";
|
||||
|
||||
$sql2 = "DELETE FROM {assign_user_mapping}
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 'x' FROM {assign}
|
||||
WHERE {assign_user_mapping}.assignment = {assign}.id)";
|
||||
}
|
||||
|
||||
$DB->execute($sql1);
|
||||
$DB->execute($sql2);
|
||||
|
||||
upgrade_mod_savepoint(true, 2014051202, 'assign');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->component = 'mod_assign'; // Full name of the plugin (used for diagnostics).
|
||||
$plugin->version = 2014051201; // The current module version (Date: YYYYMMDDXX).
|
||||
$plugin->version = 2014051202; // The current module version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2014050800; // Requires this Moodle version.
|
||||
$plugin->cron = 60;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user