a.binder vor 8 Jahren
Ursprung
Commit
42bd1eb6d3
1 geänderte Dateien mit 13 neuen und 1 gelöschten Zeilen
  1. 13 1
      SE/se-lib/Core/Database/Mysql.php

+ 13 - 1
SE/se-lib/Core/Database/Mysql.php

@@ -1014,6 +1014,18 @@ class Core_Database_Mysql extends Core_Database {
 																				  DEBUG_S(-3,'Pominieta Aktualizacja zawiezajaca zakres pola INT ma byc ='.$src_char_len[1]." byla dest=".$dst_char_len[1] ,array($sql,$src_char_len,$dst_char_len,$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type),__FILE__, __FUNCTION__, __LINE__);
 																			  }
 
+																	     } else if(strstr($VAL->Type, 'tinyint(') && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'tinyint('  )) {
+
+																	          preg_match('/^tinyint\((.*)\)$/', $ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, $src_char_len);
+																			  preg_match('/^tinyint\((.*)\)$/', $VAL->Type, $dst_char_len);
+																			  if($src_char_len[1]>$dst_char_len[1]) {
+																			      $sql=" alter table `".$TABLE."` CHANGE `".$FIELD_TO_CHK."` `".$FIELD_TO_CHK."` ".$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type." ; ";
+																				  DEBUG_S(-3,'Aktualizacja rozszerzajaca zakres pola tinyint ma byc ='.$src_char_len[1]." byla dest=".$dst_char_len[1] ,$sql,__FILE__, __FUNCTION__, __LINE__);
+																				  	$result=$this->query($sql) or DEBUG_S(-3,'Problem ze SQL:',$sql,__FILE__, __FUNCTION__, __LINE__)  or die1('\nProblem z '.$sql);
+																			  } else {
+																				  DEBUG_S(-3,'Pominieta Aktualizacja zawiezajaca zakres pola tinyint ma byc ='.$src_char_len[1]." byla dest=".$dst_char_len[1] ,array($sql,$src_char_len,$dst_char_len,$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type),__FILE__, __FUNCTION__, __LINE__);
+																			  }
+
 																	     } else if(strstr($VAL->Type, 'double(') && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'double('  )) {
 
 																	          preg_match('/^double\((.*),[0-9]+\)$/', $ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, $src_char_len);
@@ -1055,7 +1067,7 @@ class Core_Database_Mysql extends Core_Database {
 																		  			|| ( strstr($VAL->Type, 'datetime')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'char' )
 																		  			|| ( strstr($VAL->Type, 'datetime')  ) && strstr('varchar' ,$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type)
 																		  			|| ( strstr($VAL->Type, 'datetime')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'date' )
-
+																		  			|| ( strstr($VAL->Type, 'tinyint')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'tinyint' )
 																	      			) {
 
 																			      $sql=" alter table `".$TABLE."` CHANGE `".$FIELD_TO_CHK."` `".$FIELD_TO_CHK."` ".$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type." ; ";