Skip to content

Commit

Permalink
MDL-67891 tool_cohortroles: move upgrade step inside plugin.
Browse files Browse the repository at this point in the history
The step added in MDL-67458 was added to core, which broke the upgrade
process if this plugin had been uninstalled prior.
  • Loading branch information
paulholden committed Mar 2, 2020
1 parent b4a13e9 commit 9da2302
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 4 deletions.
45 changes: 45 additions & 0 deletions admin/tool/cohortroles/db/upgrade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Plugin upgrade code
*
* @package tool_cohortroles
* @copyright 2020 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die();

/**
* Function to upgrade tool_cohortroles.
*
* @param int $oldversion the version we are upgrading from
* @return bool result
*/
function xmldb_tool_cohortroles_upgrade($oldversion) {
global $DB;

if ($oldversion < 2019111801) {
// Delete any tool_cohortroles mappings for roles which no longer exist.
$DB->delete_records_select('tool_cohortroles', 'roleid NOT IN (SELECT id FROM {role})');

// Cohortroles savepoint reached.
upgrade_plugin_savepoint(true, 2019111801, 'tool', 'cohortroles');
}

return true;
}
2 changes: 1 addition & 1 deletion admin/tool/cohortroles/version.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();


$plugin->version = 2019111800; // The current plugin version (Date: YYYYMMDDXX).
$plugin->version = 2019111801; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2019111200; // Requires this Moodle version.
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).

Expand Down
3 changes: 0 additions & 3 deletions lib/db/upgrade.php
Original file line number Diff line number Diff line change
Expand Up @@ -3788,9 +3788,6 @@ function xmldb_main_upgrade($oldversion) {
// Put any upgrade step following this.

if ($oldversion < 2019111800.04) {
// Delete any tool_cohortroles mappings for roles which no longer exist.
$DB->delete_records_select('tool_cohortroles', "roleid NOT IN (SELECT id FROM {role})");

// Delete any role assignments for roles which no longer exist.
$DB->delete_records_select('role_assignments', "roleid NOT IN (SELECT id FROM {role})");

Expand Down

0 comments on commit 9da2302

Please sign in to comment.