rating MDL-21657 shifted the rating migration code out of the main upgrade script...
authorAndrew Davis <andrew@affinitysoftware.net>
Fri, 19 Mar 2010 08:26:38 +0000 (08:26 +0000)
committerAndrew Davis <andrew@affinitysoftware.net>
Fri, 19 Mar 2010 08:26:38 +0000 (08:26 +0000)
lib/db/upgrade.php
mod/data/db/upgrade.php
mod/data/version.php
mod/forum/db/upgrade.php
mod/forum/version.php
mod/glossary/db/upgrade.php
mod/glossary/version.php

index 1786dab..409291b 100644 (file)
@@ -3089,35 +3089,6 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
             $dbman->create_table($table);
         }
 
-        //pull in the ratings from the modules into the central rating table
-
-        //migrate forumratings
-        //forum ratings only have a single time column so use it for both time created and modified
-        $ratingssql = 'SELECT r.id AS rid, r.post AS itemid, r.rating, r.userid, r.time AS timecreated, r.time AS timemodified, f.scale, f.id AS mid
-FROM {forum_ratings} r
-JOIN {forum_posts} p on p.id=r.post
-JOIN {forum_discussions} d on d.id=p.discussion
-JOIN {forum} f on f.id=d.forum';
-        $result = $result && upgrade_module_ratings($ratingssql,'forum');
-        
-        //migrate glossary_ratings
-        //glossary ratings only have a single time column so use it for both time created and modified
-        $ratingssql = 'SELECT r.id AS rid, r.entryid AS itemid, r.rating, r.userid, r.time AS timecreated, r.time AS timemodified, g.scale, g.id AS mid
-FROM {glossary_ratings} r
-JOIN {glossary_entries} ge ON ge.id=r.entryid
-JOIN {glossary} g ON g.id=ge.glossaryid';
-        $result = $result && upgrade_module_ratings($ratingssql,'glossary');
-        
-        //migrate data_ratings
-        //data ratings didnt store time created and modified so Im using the times from the record the rating was attached to
-        $ratingssql = 'SELECT r.id AS rid, r.recordid AS itemid, r.rating, r.userid, re.timecreated, re.timemodified, d.scale, d.id AS mid
-FROM {data_ratings} r
-JOIN {data_records} re ON r.recordid=re.id
-JOIN {data} d ON d.id=re.dataid';
-        $result = $result && upgrade_module_ratings($ratingssql,'data');
-        
-        //todo drop forum_ratings, data_ratings and glossary_ratings
-
         upgrade_main_savepoint($result, 2010031800);
     }
 
index 2f8c1eb..3a62f17 100644 (file)
@@ -253,6 +253,20 @@ function xmldb_data_upgrade($oldversion) {
         upgrade_mod_savepoint($result, 2010031602, 'data');
     }
 
+    if($result && $oldversion < 2010031800) {
+        //migrate data_ratings to the central rating table
+        //data ratings didnt store time created and modified so Im using the times from the record the rating was attached to
+        $ratingssql = 'SELECT r.id AS rid, r.recordid AS itemid, r.rating, r.userid, re.timecreated, re.timemodified, d.scale, d.id AS mid
+FROM {data_ratings} r
+JOIN {data_records} re ON r.recordid=re.id
+JOIN {data} d ON d.id=re.dataid';
+        $result = $result && upgrade_module_ratings($ratingssql,'data');
+
+        //todo andrew drop data_ratings
+
+        upgrade_mod_savepoint($result, 2010031800, 'data');
+    }
+
     return $result;
 }
 
index ece271b..ec9a903 100644 (file)
@@ -5,8 +5,8 @@
 //  This fragment is called by /admin/index.php
 ////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2009111701;
-$module->requires = 2009041700;  // Requires this Moodle version
+$module->version  = 2010031800;
+$module->requires = 2010031800;  // Requires this Moodle version
 $module->cron     = 60;
 
 
index 283ba24..fd332a8 100644 (file)
@@ -285,6 +285,21 @@ function xmldb_forum_upgrade($oldversion) {
         upgrade_mod_savepoint($result, 2009050400, 'forum');
     }
 
+    if($result && $oldversion < 2010031800) {
+        //migrate forumratings to the central rating table
+        //forum ratings only have a single time column so use it for both time created and modified
+        $ratingssql = 'SELECT r.id AS rid, r.post AS itemid, r.rating, r.userid, r.time AS timecreated, r.time AS timemodified, f.scale, f.id AS mid
+FROM {forum_ratings} r
+JOIN {forum_posts} p on p.id=r.post
+JOIN {forum_discussions} d on d.id=p.discussion
+JOIN {forum} f on f.id=d.forum';
+        $result = $result && upgrade_module_ratings($ratingssql,'forum');
+
+        //todo andrew drop forum_ratings
+
+        upgrade_mod_savepoint($result, 2010031800, 'forum');
+    }
+
     return $result;
 }
 
index 90e2a6c..275571c 100644 (file)
@@ -24,8 +24,8 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$module->version  = 2009050400;
-$module->requires = 2009041700;  // Requires this Moodle version
+$module->version  = 2010031800;
+$module->requires = 2010031800;  // Requires this Moodle version
 $module->cron     = 60;
 
 
index fa850d3..144a670 100644 (file)
@@ -257,7 +257,21 @@ function xmldb_glossary_upgrade($oldversion) {
         upgrade_mod_savepoint($result, 2009110800, 'glossary');
     }
 
-    //todo andrew set rating permissions based on current value of glossary.assessed
+    if($result && $oldversion < 2010031800) {
+        //migrate glossary_ratings to the central rating table
+        //glossary ratings only have a single time column so use it for both time created and modified
+        $ratingssql = 'SELECT r.id AS rid, r.entryid AS itemid, r.rating, r.userid, r.time AS timecreated, r.time AS timemodified, g.scale, g.id AS mid
+FROM {glossary_ratings} r
+JOIN {glossary_entries} ge ON ge.id=r.entryid
+JOIN {glossary} g ON g.id=ge.glossaryid';
+        $result = $result && upgrade_module_ratings($ratingssql,'glossary');
+
+        //todo andrew drop glossary_ratings
+
+        //todo andrew set rating permissions based on current value of glossary.assessed
+
+        upgrade_mod_savepoint($result, 2010031800, 'glossary');
+    }
 
     return $result;
 }
index f6c5bb1..3ae757c 100644 (file)
@@ -5,8 +5,8 @@
 ///  This fragment is called by moodle_needs_upgrading() and /admin/index.php
 /////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2009110800;
-$module->requires = 2009041700;  // Requires this Moodle version
+$module->version  = 2010031800;
+$module->requires = 2010031800;  // Requires this Moodle version
 $module->cron     = 0;           // Period for cron to check this module (secs)