瀏覽代碼

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

Yannick Warnier 18 年之前
父節點
當前提交
13f32cf135
共有 1 個文件被更改,包括 54 次插入34 次删除
  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
 	Dokeos - elearning and course management software
 
 
+	Copyright (c) 2006 Yannick Warnier <yannick.warnier@dokeos.com>
 	Copyright (c) 2004 Dokeos S.A.
 	Copyright (c) 2004 Dokeos S.A.
 	Copyright (c) 2003 Ghent University (UGent)
 	Copyright (c) 2003 Ghent University (UGent)
 	Copyright (c) 2001 Universite catholique de Louvain (UCL)
 	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();
 	$modif_tables=array();
-	$tables_db1=array();
-	$tables_db2=array();
+	$tables_db_new=array();
+	$tables_db_old=array();
 	$dump=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;
 		$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();
 			$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;
 			$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++;
 				$j++;
 			}
 			}
@@ -82,8 +101,8 @@ foreach($bases1 as $num_base=>$base)
 
 
 		foreach($dump as $table)
 		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)
 			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))
 		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)
 		foreach($diff as $enreg)
 		{
 		{
@@ -142,5 +161,6 @@ foreach($bases1 as $num_base=>$base)
 	}
 	}
 }
 }
 
 
-mysql_close();
+mysql_close($db_new);
+mysql_close($db_old);
 ?>
 ?>