<?xml version="1.0" encoding="UTF-8" ?>
-<XMLDB PATH="payment/gateway/paypal/db" VERSION="20200110" COMMENT="XMLDB file for PayPal payment gateway plugin"
+<XMLDB PATH="payment/gateway/paypal/db" VERSION="20201216" COMMENT="XMLDB file for PayPal payment gateway plugin"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../lib/xmldb/xmldb.xsd"
>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
- <KEY NAME="paymentid" TYPE="foreign-unique" FIELDS="paymentid" REFTABLE="payment" REFFIELDS="id"/>
+ <KEY NAME="paymentid" TYPE="foreign-unique" FIELDS="paymentid" REFTABLE="payments" REFFIELDS="id"/>
</KEYS>
</TABLE>
</TABLES>
--- /dev/null
+<?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/>.
+
+/**
+ * Upgrade script for paygw_paypal.
+ *
+ * @package paygw_paypal
+ * @copyright 2021 Shamim Rezaie <shamim@moodle.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Upgrade the plugin.
+ *
+ * @param int $oldversion the version we are upgrading from
+ * @return bool always true
+ */
+function xmldb_paygw_paypal_upgrade(int $oldversion): bool {
+ global $DB;
+
+ $dbman = $DB->get_manager();
+
+ if ($oldversion < 2020110901) {
+ // Define key paymentid (foreign-unique) to be added to paygw_paypal.
+ $table = new xmldb_table('paygw_paypal');
+ $key = new xmldb_key('paymentid', XMLDB_KEY_FOREIGN_UNIQUE, ['paymentid'], 'payments', ['id']);
+
+ // Launch add key paymentid.
+ $dbman->add_key($table, $key);
+
+ // Paypal savepoint reached.
+ upgrade_plugin_savepoint(true, 2020110901, 'paygw', 'paypal');
+ }
+
+ return true;
+}