Quellcode durchsuchen

maly update sqix struct db sync

a.binder vor 11 Jahren
Ursprung
Commit
b4427d8b6d
1 geänderte Dateien mit 2 neuen und 136 gelöschten Zeilen
  1. 2 136
      SE/superedit-SQIX_STRUCTURE_DB_SYNC.php

+ 2 - 136
SE/superedit-SQIX_STRUCTURE_DB_SYNC.php

@@ -830,142 +830,7 @@ $CONNLOCAL->query('set global max_allowed_packet=1000000000');
 //		$STRUCT_TABLE['CRM_LISTA_ZASOBOW']='PARENT_ID'; 
   
   }//eof FUNC FROM_ZASOBY_TO_ZASOBY
-  /* function has been moved to DB:: @2014-06-24
-   function STRUCTURE_GENERATE($TABLES,$CONNREMOTE,$TABLES_STRUCTURE_DATA){
-   				//global $CONNREMOTE;
-   				//! try to create info for functions and procedures -> ['__SCHEMA_FUNCTIONS__ARRAY__']
-   				$sql="show function status;";
-   				$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);       				
-   				while($h=mysql_fetch_object($result)) {	
-   					$sql_="show create function `{$h->Name}`" ;
-   					DEBUG_S(-3,'sql function detail :: ',$sql_,__FILE__,__FUNCTION__,__LINE__)	 ;
-   					$result_=$CONNREMOTE->query($sql_) or die1('\nProblem z '.$sql);       			
-   					while($h_=mysql_fetch_object($result_)) {	
-   					$TABLES_IMPORT['__SCHEMA_FUNCTIONS__ARRAY__']['FUNCTION'][$h->Name]=$h_;
-   					}
-	   			}
-	   			
-	   			
-	   			$sql="show PROCEDURE status;";
-   				$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);       				
-   				while($h=mysql_fetch_object($result)) {	
-   					$sql_="show create PROCEDURE `{$h->Name}`" ;
-   					DEBUG_S(-3,'sql PROCEDURE detail :: ',$sql_,__FILE__,__FUNCTION__,__LINE__)	 ;
-   					$result_=$CONNREMOTE->query($sql_) or die1('\nProblem z '.$sql);       			
-   					while($h_=mysql_fetch_object($result_)) {	
-   					$TABLES_IMPORT['__SCHEMA_FUNCTIONS__ARRAY__']['PROCEDURE'][$h->Name]=$h_;
-   					}
-	   			}
-	   				DEBUG_S(-3,'struktury funkcji: __SCHEMA_FUNCTIONS__ARRAY__ ',$TABLES_IMPORT['__SCHEMA_FUNCTIONS__ARRAY__'],__FILE__,__FUNCTION__,__LINE__)	 ;
-   				//die1('stop function during dev.');
-   				
-		       		foreach($TABLES as $TABLE ){
-		       				
-		       				$sql="show tables like   '".$TABLE."' ;" ;
-		       				DEBUG_S(-3,'//! Listing possible tables to write to config',$sql,__FILE__,__FUNCTION__,__LINE__);
-		       				$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);       				
-		       				if(mysql_num_rows($result)==0) {
-		       				// nie ma tabeli - trzeba zapisac
-		       				DEBUG_S(-3," BRAK TABELI ".$TABLE,null,__FILE__,__FUNCTION__,__LINE__);
-		       				//die1();
-		       				if(isset($TABLES_IMPORT[$TABLE])) {
-			       				DEBUG_S(-3," Table already imported - problem in twice declared table ".$TABLE,null,__FILE__,__FUNCTION__,__LINE__);	
-			       				die1();
-		       				}
-		       				} else {
-		       				
-		       				
-		       						$sql="show full tables like   '".$TABLE."' ;" ;
-			   						$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);     
-			   						while($h=mysql_fetch_object($result)) {		       				
-				   						$TABLES_IMPORT[$TABLE]['Table_type']=$h->{'Table_type'};
-				       					DEBUG_S(-3,'//! Reading to conf if table is WIEV or not :sql/result',array($sql,$h->{'Table_type'}),__FILE__,__FUNCTION__,__LINE__);
-					   				}
-		       				
-		       				
-		       				
-					   				if($TABLES_IMPORT[$TABLE]['Table_type']=='BASE TABLE') {
-				       				
-						       				$sql=" describe  `".$TABLE."` ;" ;
-						       				//echo "\n ".$sql;
-				       				       	$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);
-						       				while($h=mysql_fetch_object($result)) {		       				
-						       					$TABLES_IMPORT[$TABLE]['FIELDS'][]=$h;
-						       				}
-						       			    $sql=" show index from  `".$TABLE."` ;" ;
-				       				       	$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);
-											$TMP_KEYNAME=array();
-						       						while($h=mysql_fetch_object($result)) {		
-							       						if(isset($h->Column_name)) { $h->Column_name="`".$h->Column_name."`";       				
-														if(!isset($TMP_KEYNAME[$h->Key_name])) $TMP_KEYNAME[$h->Key_name]=$h->Column_name;
-														else $TMP_KEYNAME[$h->Key_name].=",".$h->Column_name;
-														}
-														//if(isset($TABLES_IMPORT[$TABLE]['INDEX'][$h->Key_name])) {
-														//   $TABLES_IMPORT[$TABLE]['INDEX'][$h->Key_name]->Column_name.=", ".$h->Column_name." ";
-														//} else {
-														//}
-														$TABLES_IMPORT[$TABLE]['INDEX'][$h->Key_name]=$h;
-														$TABLES_IMPORT[$TABLE]['INDEX'][$h->Key_name]->Column_name=$TMP_KEYNAME[$h->Key_name];	
-													}
-						       				if(in_array($TABLE,$TABLES_STRUCTURE_DATA)) { //bedziemy dodawac dane tej tabeli
-						       					 $sql=" select  * from  `".$TABLE."` ;" ;
-				       				       		 $result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);
-				       				       		 while($h=mysql_fetch_object($result)) {
-						       					 	$TABLES_IMPORT[$TABLE]['VALUES'][]=$h;
-						       					 }
-						       				}
-				
-						       				DEBUG_S(-3,"Dane tabeli KOMORKI ".$TABLE." ",$TABLES_IMPORT[$TABLE]['FIELDS'],__FILE__, __FUNCTION__, __LINE__);
-						       				DEBUG_S(-3,"Dane tabeli INDEKSY ".$TABLE." ",$TABLES_IMPORT[$TABLE]['INDEX'],__FILE__, __FUNCTION__, __LINE__);
-						       				if(isset($TABLES_IMPORT[$TABLE]['VALUES'])) DEBUG_S(-3,"Dane tabeli VALUES ".$TABLE." ",$TABLES_IMPORT[$TABLE]['VALUES'],__FILE__, __FUNCTION__, __LINE__);
-							   				
-							   				//! reading triggers to conf -> $TABLES_IMPORT[$TABLE]['TRIGGERS']
-							   			    $sql=" show triggers like '".$TABLE."' ;" ;
-				       				       	$result=$CONNREMOTE->query($sql) or die1('\nProblem z '.$sql);
-						       				while($h=mysql_fetch_object($result)) {		
-						       					 $sql_="show create trigger {$h->Trigger} ;" ;
-							   					 echo $sql_;
-		    		       				         $result_=$CONNREMOTE->query($sql_) or die1('\nProblem z '.$sql_);	
-		    		       				         while($h_=mysql_fetch_object($result_)) {			       					 
-							   					  DEBUG_S(-3,"Dane tabeli h_ ".$TABLE." ",$h_,__FILE__, __FUNCTION__, __LINE__);
-						       					  $TABLES_IMPORT[$TABLE]['TRIGGERS'][$h->Trigger]=$h_; 
-						       					 }
-								   			}
-								   			if(isset($TABLES_IMPORT[$TABLE]['TRIGGERS'])) DEBUG_S(-3,"Dane tabeli TRIGGERS ".$TABLE." ",$TABLES_IMPORT[$TABLE]['TRIGGERS'],__FILE__, __FUNCTION__, __LINE__);
-		
-						       			}  else if($TABLES_IMPORT[$TABLE]['Table_type']=='VIEW') {
-								   		
-							       			 $sql_="show create view `{$TABLE}` ;" ;
-							   					 //echo $sql_;
-		    		       				         $result_=$CONNREMOTE->query($sql_) or die1('\nProblem z '.$sql_);	
-		    		       				         while($h_=mysql_fetch_object($result_)) {			       					 
-							   					  DEBUG_S(-3,"//! trying to fetch create view fom".$TABLE." sql/res",array($sql_,$h_),__FILE__, __FUNCTION__, __LINE__);
-						       					  $TABLES_IMPORT[$TABLE]['VIEW']=$h_; 
-						       					 }
-							       			
-						       			} else { 
-						       			  DEBUG_S(-3,"Unknown table type ! ".$TABLE." ".$TABLES_IMPORT[$TABLE]['Table_type'],$TABLES_IMPORT[$TABLE],__FILE__, __FUNCTION__, __LINE__);
-						       			  die1();
-						       			}
-				       			    	
-						   			}
-		            }
-		            //print_r($TABLES_IMPORT);
-		           
-		           
-		           
-		            function func_sort_tables_import($a,$b){
-		               if($a['Table_type']==$b['Table_type']) return 0;
-		               else if($a['Table_type']=='VIEW') return 1;
-		               else return -1;
-                            }
-                           
-                           uasort($TABLES_IMPORT,'func_sort_tables_import');
-		                                                                                                                                                         
-		           DEBUG_S(-3,'Wygenerowane struktury (TABLES_IMPORT)',$TABLES_IMPORT,__FILE__,__FUNCTION__,__LINE__); 
-		           return($TABLES_IMPORT);
-         	}
-  */
+  
   		//funkcja do usuniecia zasobow ze zdublowanymi nazwami, najlepiej tych, ktore nie maja uzytych procesow
   		function STRUCTURE_SYNC_REMOVE_DUP_RESOURCE_NAMES($DUP_RESOURCE_PARENT_ID,$DUP_RESOURCE_DESC,$CONNREMOTE,$CONFIRM_SQL_UPDATE) {
   				DEBUG_S(-3,'Bede czyscic tabele struktury dla ',array($DUP_RESOURCE_PARENT_ID,$DUP_RESOURCE_DESC,$CONNREMOTE,__FILE__, __FUNCTION__, __LINE__));
@@ -1025,6 +890,7 @@ $CONNLOCAL->query('set global max_allowed_packet=1000000000');
        if($SYNC_OPTIONS=='CREATE_ZASOBY_STRUCTURES_CONFIG') {//budowa struktur w bazie
        
        		$TABLES_IMPORT=$CONNREMOTE->STRUCTURE_GENERATE($TABLES_STRUCTURE,null,$TABLES_STRUCTURE_DATA);
+	   		$CONNREMOTE->STRUCTURE_GENERATE_to_xsd($TABLES_IMPORT,$CONNREMOTE,'/tmp/schema'); //Generujemy XSD dla struktur
 
 //       		$TABLES_IMPORT=STRUCTURE_GENERATE($TABLES_STRUCTURE,$CONNREMOTE,$TABLES_STRUCTURE_DATA);