From f3323c22fec26ef2e6b8de348c04a6400b4e16e8 Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Wed, 30 May 2018 12:17:22 +1000 Subject: [PATCH] MDL-62588 enrol_paypal: Add missing instanceid field --- enrol/paypal/db/upgrade.php | 20 +++++++++++++++++++- enrol/paypal/version.php | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/enrol/paypal/db/upgrade.php b/enrol/paypal/db/upgrade.php index ad195b143cd..123a1248696 100644 --- a/enrol/paypal/db/upgrade.php +++ b/enrol/paypal/db/upgrade.php @@ -43,7 +43,9 @@ defined('MOODLE_INTERNAL') || die(); function xmldb_enrol_paypal_upgrade($oldversion) { - global $CFG; + global $DB; + + $dbman = $DB->get_manager(); // Automatically generated Moodle v3.2.0 release upgrade line. // Put any upgrade step following this. @@ -57,5 +59,21 @@ function xmldb_enrol_paypal_upgrade($oldversion) { // Automatically generated Moodle v3.5.0 release upgrade line. // Put any upgrade step following this. + if ($oldversion < 2018051401) { + + // Define field instanceid to be added to enrol_paypal. + // For some reason, some Moodle instances that are upgraded from old versions do not have this field. + $table = new xmldb_table('enrol_paypal'); + $field = new xmldb_field('instanceid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0', 'userid'); + + // Conditionally launch add field instanceid. + if (!$dbman->field_exists($table, $field)) { + $dbman->add_field($table, $field); + } + + // Paypal savepoint reached. + upgrade_plugin_savepoint(true, 2018051401, 'enrol', 'paypal'); + } + return true; } diff --git a/enrol/paypal/version.php b/enrol/paypal/version.php index 04ee0a4add4..e444786cb40 100644 --- a/enrol/paypal/version.php +++ b/enrol/paypal/version.php @@ -25,6 +25,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2018051400; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2018051401; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2018050800; // Requires this Moodle version $plugin->component = 'enrol_paypal'; // Full name of the plugin (used for diagnostics)