Parcourir la source

[svn r10519] Update to use with 1.8 - first step

Yannick Warnier il y a 18 ans
Parent
commit
13f32cf135
1 fichiers modifiés avec 54 ajouts et 34 suppressions
  1. 54 34
      main/install/compare_db.php

+ 54 - 34
main/install/compare_db.php

@@ -1,8 +1,9 @@
-<?php // $Id: compare_db.php 9246 2006-09-25 13:24:53Z bmol $
+<?php // $Id: compare_db.php 10519 2006-12-18 17:12:37Z yannoo $
 /*
 ==============================================================================
 	Dokeos - elearning and course management software
 
+	Copyright (c) 2006 Yannick Warnier <yannick.warnier@dokeos.com>
 	Copyright (c) 2004 Dokeos S.A.
 	Copyright (c) 2003 Ghent University (UGent)
 	Copyright (c) 2001 Universite catholique de Louvain (UCL)
@@ -30,49 +31,67 @@
 ==============================================================================
 */
 
-/**** Database configuration ****/
-$mysql_server='localhost';
-$mysql_user='root';
-$mysql_pass='';
+/**
+ * Database configuration
+ * INSTRUCTIONS
+ * ============
+ * Change these parameters to compare between an old and a new database install.
+ * You will need to create a course called 'COURSE' on each side to be able to compare the
+ * courses databases.
+ * If you have given fancy names to your databases, you will need to modify these names 
+ * in the two $bases_* variables definitions below.
+ * Also, make sure about the prefix possibly used in front of the normal prefix for courses
+ * databases (i.e. 'zPrefix_course' contains 'z' as additional prefix).
+ */
+$sql_server_new='localhost';
+$sql_user_new='root';
+$sql_pass_new='';
+$prefix_new = 'dokeos180_';
+$bases_new=array($prefix_new.'dokeos_main',$prefix_new.'dokeos_stats',$prefix_new.'dokeos_user','z'.$prefix_new.'COURSE',$prefix_new.'dokeos_scorm');
+$db_new = mysql_connect($sql_server_new,$sql_user_new,$sql_pass_new) or die(mysql_error());
+
+
+$sql_server_old='localhost';
+$sql_user_old='root';
+$sql_pass_old='';
+$prefix_old = 'dokeos160_';
+$bases_old=array($prefix_old.'dokeos_main',$prefix_old.'dokeos_stats',$prefix_old.'dokeos_user',$prefix_old.'COURSE',$prefix_old.'dokeos_scorm');
+$db_old = mysql_connect($sql_server_old,$sql_user_old,$sql_pass_old) or die(mysql_error());
 
-$bases1=array('dokeos16_main','dokeos16_stats','dokeos16_scorm','dokeos16_COURSE');
-$bases2=array('dokeos154_main','dokeos154_stats','dokeos154_scorm','dokeos154_COURSE');
 /********************************/
 
-mysql_connect($mysql_server,$mysql_user,$mysql_pass) or die(mysql_error());
-
-foreach($bases1 as $num_base=>$base)
+foreach($bases_new as $num_base=>$base)
 {
 	$modif_tables=array();
-	$tables_db1=array();
-	$tables_db2=array();
+	$tables_db_new=array();
+	$tables_db_old=array();
 	$dump=array();
 
-	$query1="SHOW TABLES FROM `$bases1[$num_base]`";
-	$result1=mysql_query($query1);
+	$query_new="SHOW TABLES FROM ".$bases_new[$num_base];
+	$result_new=mysql_query($query_new,$db_new);
 
-	if($result1)
+	if($result_new)
 	{
 		$i=0;
 
-		while($row1=mysql_fetch_row($result1))
+		while($row_new=mysql_fetch_row($result_new))
 		{
-			$dump[$i]['table_name']=$row1[0];
+			$dump[$i]['table_name']=$row_new[0];
 			$dump[$i]['fields']=array();
 
-			$query2="SHOW FIELDS FROM `$bases1[$num_base]`.`$row1[0]`";
-			$result2=mysql_query($query2) or die(mysql_error());
+			$query_old="SHOW FIELDS FROM ".$bases_new[$num_base].".".$row_new[0];
+			$result_old=mysql_query($query_old,$db_old) or die(mysql_error());
 
 			$j=0;
 
-			while($row2=mysql_fetch_row($result2))
+			while($row_old=mysql_fetch_row($result_old))
 			{
-				$dump[$i]['fields'][$j][0]=$row2[0];
-				$dump[$i]['fields'][$j][1]=$row2[1];
-				$dump[$i]['fields'][$j][2]=$row2[2];
-				$dump[$i]['fields'][$j][3]=$row2[3];
-				$dump[$i]['fields'][$j][4]=$row2[4];
-				$dump[$i]['fields'][$j][5]=$row2[5];
+				$dump[$i]['fields'][$j][0]=$row_old[0];
+				$dump[$i]['fields'][$j][1]=$row_old[1];
+				$dump[$i]['fields'][$j][2]=$row_old[2];
+				$dump[$i]['fields'][$j][3]=$row_old[3];
+				$dump[$i]['fields'][$j][4]=$row_old[4];
+				$dump[$i]['fields'][$j][5]=$row_old[5];
 
 				$j++;
 			}
@@ -82,8 +101,8 @@ foreach($bases1 as $num_base=>$base)
 
 		foreach($dump as $table)
 		{
-			$query="SHOW FIELDS FROM `$bases2[$num_base]`.`".$table['table_name']."`";
-			$result=mysql_query($query);
+			$query="SHOW FIELDS FROM ".$bases_old[$num_base].".".$table['table_name'];
+			$result=mysql_query($query,$db_old);
 
 			if(!$result)
 			{
@@ -118,18 +137,18 @@ foreach($bases1 as $num_base=>$base)
 				}
 			}
 
-			$tables_db1[]=$table['table_name'];
+			$tables_db_new[]=$table['table_name'];
 		}
 
-		$query="SHOW TABLES FROM `$bases2[$num_base]`";
-		$result=mysql_query($query) or die(mysql_error());
+		$query="SHOW TABLES FROM ".$bases_old[$num_base];
+		$result=mysql_query($query,$db_old) or die(mysql_error());
 
 		while($row=mysql_fetch_row($result))
 		{
-			$tables_db2[]=$row[0];
+			$tables_db_old[]=$row[0];
 		}
 
-		$diff=array_diff($tables_db2,$tables_db1);
+		$diff=array_diff($tables_db_old,$tables_db_new);
 
 		foreach($diff as $enreg)
 		{
@@ -142,5 +161,6 @@ foreach($bases1 as $num_base=>$base)
 	}
 }
 
-mysql_close();
+mysql_close($db_new);
+mysql_close($db_old);
 ?>