mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 20:42:22 +02:00
Merge branch 'MDL-59854-master' of git://github.com/junpataleta/moodle
This commit is contained in:
commit
458d9e084f
3
mod/forum/db/install.xml
Normal file → Executable file
3
mod/forum/db/install.xml
Normal file → Executable file
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XMLDB PATH="mod/forum/db" VERSION="20160912" COMMENT="XMLDB file for Moodle mod/forum"
|
||||
<XMLDB PATH="mod/forum/db" VERSION="20171012" COMMENT="XMLDB file for Moodle mod/forum"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
|
||||
>
|
||||
@ -118,6 +118,7 @@
|
||||
<KEYS>
|
||||
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
||||
<KEY NAME="forum" TYPE="foreign" FIELDS="forum" REFTABLE="forum" REFFIELDS="id"/>
|
||||
<KEY NAME="useridforum" TYPE="unique" FIELDS="userid, forum" COMMENT="Unique key"/>
|
||||
</KEYS>
|
||||
<INDEXES>
|
||||
<INDEX NAME="userid" UNIQUE="false" FIELDS="userid"/>
|
||||
|
@ -84,5 +84,35 @@ function xmldb_forum_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.3.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
if ($oldversion < 2017092200) {
|
||||
|
||||
// Remove duplicate entries from forum_subscriptions.
|
||||
// Find records with multiple userid/forum combinations and find the highest ID.
|
||||
// Later we will remove all those entries.
|
||||
$sql = "
|
||||
SELECT MIN(id) as minid, userid, forum
|
||||
FROM {forum_subscriptions}
|
||||
GROUP BY userid, forum
|
||||
HAVING COUNT(id) > 1";
|
||||
|
||||
if ($duplicatedrows = $DB->get_recordset_sql($sql)) {
|
||||
foreach ($duplicatedrows as $row) {
|
||||
$DB->delete_records_select('forum_subscriptions',
|
||||
'userid = :userid AND forum = :forum AND id <> :minid', (array)$row);
|
||||
}
|
||||
}
|
||||
$duplicatedrows->close();
|
||||
|
||||
// Define key useridforum (primary) to be added to forum_subscriptions.
|
||||
$table = new xmldb_table('forum_subscriptions');
|
||||
$key = new xmldb_key('useridforum', XMLDB_KEY_UNIQUE, array('userid', 'forum'));
|
||||
|
||||
// Launch add key useridforum.
|
||||
$dbman->add_key($table, $key);
|
||||
|
||||
// Forum savepoint reached.
|
||||
upgrade_mod_savepoint(true, 2017092200, 'forum');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2017051500; // The current module version (Date: YYYYMMDDXX)
|
||||
$plugin->version = 2017092200; // The current module version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2017050500; // Requires this Moodle version
|
||||
$plugin->component = 'mod_forum'; // Full name of the plugin (used for diagnostics)
|
||||
|
Loading…
x
Reference in New Issue
Block a user