superedit-SYNC_MYDATABASE_SQIX.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. function SYNC_MYDATABASE_SQIX($CNF_ZASOB_SRC,$src_tables_array,$CNF_ZASOB_DST) {
  3. global $CNF_ZASOB;
  4. echo "\nF.SYNC_MYDATABASE_SQIX($CNF_ZASOB_SRC,$src_tables_array,$CNF_ZASOB_DST)";
  5. if ($CNF_ZASOB_SRC == 14 && empty($CNF_ZASOB['14'])) {
  6. global $INTERFACE_ADDR, $SQL_USER, $SQL_USER_PASS, $SQL_DATABASE;
  7. $CNF_ZASOB['14']['INTERFACE_ADDR'] = $INTERFACE_ADDR;
  8. $CNF_ZASOB['14']['SQL_USER'] = $SQL_USER;
  9. $CNF_ZASOB['14']['SQL_USER_PASS'] = $SQL_USER_PASS;
  10. $CNF_ZASOB['14']['SQL_DATABASE'] = $SQL_DATABASE;
  11. }
  12. //print_r($CNF_ZASOB);
  13. //$TABLES=array('USERS2','KIKE_AUTH','IN7_MK_BAZA_DYSTRYBUCJI','IN7_DZIENNIK_KORESP','229AnkietaZakup','229Wezly','229Uczestnicy','229Trasa','KONFERENCJE_USERS');
  14. //print_r($CNF_ZASOB);
  15. $src_db_conn=mysql_pconnect($CNF_ZASOB[$CNF_ZASOB_SRC]['INTERFACE_ADDR'],$CNF_ZASOB[$CNF_ZASOB_SRC]['SQL_USER'],$CNF_ZASOB[$CNF_ZASOB_SRC]['SQL_USER_PASS']) or die("Can not connect to 719-1 !".$CNF_ZASOB_SRC." ".$CNF_ZASOB[$CNF_ZASOB_SRC]['INTERFACE_ADDR']." ".$CNF_ZASOB[$CNF_ZASOB_SRC]['SQL_USER']);
  16. mysql_select_db($CNF_ZASOB[$CNF_ZASOB_SRC]['SQL_DATABASE'],$src_db_conn) or die("ERROR podczas wyboru bazy R50A!:".$CNF_ZASOB_SRC."/".$CNF_ZASOB[$CNF_ZASOB_SRC]['SQL_DATABASE']);
  17. $dst_db_conn=mysql_pconnect($CNF_ZASOB[$CNF_ZASOB_DST]['INTERFACE_ADDR'],$CNF_ZASOB[$CNF_ZASOB_DST]['SQL_USER'],$CNF_ZASOB[$CNF_ZASOB_DST]['SQL_USER_PASS']) or die("Can not connect to 719-2 !".$CNF_ZASOB_DST);
  18. mysql_select_db($CNF_ZASOB[$CNF_ZASOB_DST]['SQL_DATABASE'],$dst_db_conn) or die("ERROR podczas wyboru bazy R50B!:"."/".$CNF_ZASOB[$CNF_ZASOB_DST]['SQL_DATABASE']);
  19. foreach($src_tables_array as $TABLE) { //foreach 1
  20. //odczytujemy strukture
  21. $zap_sql1_SE="show fields from ".$TABLE." ;" ;
  22. echo "\n".$zap_sql1_SE;
  23. $r1=mysql_query($zap_sql1_SE,$src_db_conn);
  24. $ZAP_REMOTE_CREATE="";
  25. $COLUMNS = array();
  26. while($R1=mysql_fetch_object($r1)) {
  27. // print_r($R1);
  28. if($R1->Type=='text') $TYPE=' text ' ;
  29. else if(strstr($R1->Type,'int(')) $TYPE=$R1->Type ;
  30. else $TYPE=' varchar(255) ';
  31. if($ZAP_REMOTE_CREATE) $ZAP_REMOTE_CREATE.=" , `".$R1->Field."` ".$TYPE." ";
  32. else $ZAP_REMOTE_CREATE="create table ".$TABLE." (`".$R1->Field."` ".$TYPE." ";
  33. $COLUMNS[]=$R1->Field;
  34. }
  35. $ZAP_REMOTE_CREATE.=" )
  36. ";
  37. //flushujemy tabele USERS2;
  38. $zap_sql1_DUO="drop table if exists ".$TABLE." ;";
  39. echo "\n".$zap_sql1_DUO;
  40. mysql_query($zap_sql1_DUO,$dst_db_conn) or die("DIE1:".$zap_sql1_DUO);
  41. //mysql_query($zap_sql1_CREATE,$conn_DUO) or die($zap_sql1_DUO);
  42. echo "\n ".$ZAP_REMOTE_CREATE;
  43. mysql_query($ZAP_REMOTE_CREATE,$dst_db_conn) or die("DIE2:".$ZAP_REMOTE_CREATE);
  44. // mysql_query($ZAP_REMOTE_CREATE,$conn_GRONET) or die($ZAP_REMOTE_CREATE);
  45. //indeksy !?
  46. $zap_sql1_SE="show indexes from ".$TABLE." ;" ;
  47. echo "\n".$zap_sql1_SE;
  48. $ZAP_REMOTE_INDEX_CREATE="";
  49. $r1=mysql_query($zap_sql1_SE,$src_db_conn);
  50. while($R1=mysql_fetch_object($r1)) {
  51. //print_r($R1);
  52. if($R1->Sub_part>0) $ZAP_REMOTE_INDEX_CREATE="alter table ".$TABLE." add index(".$R1->Column_name."(".$R1->Sub_part."))" ; //jest dlugosc klucza
  53. else $ZAP_REMOTE_INDEX_CREATE="alter table ".$TABLE." add index(".$R1->Column_name.")" ;
  54. echo $ZAP_REMOTE_INDEX_CREATE." \n";
  55. mysql_query($ZAP_REMOTE_INDEX_CREATE,$dst_db_conn) or die("\nDIE2:".$ZAP_REMOTE_INDEX_CREATE."\n");
  56. flush();
  57. }
  58. // mysql_query($ZAP_REMOTE_CREATE,$conn_GRONET) or die($ZAP_REMOTE_CREATE);
  59. //w petli wprowadzamy rekordy z GLWONEK do DUO
  60. $zap_sql1_SE="select * from ".$TABLE." ;";
  61. $r1_SE=mysql_query($zap_sql1_SE,$src_db_conn);
  62. $test_i=0;
  63. while($R1_SE=mysql_fetch_object($r1_SE)) { //while L65
  64. $INSERT = array();
  65. $test_i++;
  66. if($test_i==100) {
  67. flush();
  68. $test_i=0;
  69. echo ".";
  70. }
  71. foreach($COLUMNS as $COLUMN) { //foreach L67
  72. if(empty($INSERT)) {
  73. $INSERT['VALS']=" insert into ".$TABLE." ( `".$COLUMN."`" ;
  74. $INSERT['COLS']=" '".addslashes($R1_SE->$COLUMN)."' " ;
  75. } else {
  76. $INSERT['VALS'].=" , `".$COLUMN."`" ;
  77. $INSERT['COLS'].=" , '".addslashes($R1_SE->$COLUMN)."' ";
  78. }
  79. }//eof foreach L67
  80. $INSERT['SQL']=$INSERT['VALS']." ) values ( ".$INSERT['COLS']." ); ";
  81. // echo "\n".$INSERT['SQL'];
  82. // print_r($INSERT);
  83. mysql_query($INSERT['SQL'],$dst_db_conn) or die("\nProblem z INSERT ".$INSERT['SQL']. " error: ".mysql_error());
  84. // mysql_query($INSERT['SQL'],$conn_GRONET) or die("\nProblem z INSERT ".$INSERT['SQL']);
  85. } //eof while L65
  86. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(ID)";
  87. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ; //or echo $ZAP_REMOTE_INDEX."problem";
  88. echo "<br>".$ZAP_REMOTE_INDEX;
  89. $ZAP_REMOTE_INDEX="ALTER TABLE `".$TABLE."` CHANGE `ID` `ID` INT( 11 ) NULL DEFAULT NULL";
  90. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ; //or die($ZAP_REMOTE_INDEX);
  91. $ZAP_REMOTE_INDEX="ALTER TABLE `".$TABLE."` CHANGE `P_ID` `P_ID` INT( 11 ) NULL DEFAULT NULL";
  92. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ; //or die($ZAP_REMOTE_INDEX);
  93. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(A_RECORD_CREATE_DATE)";
  94. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ; //or die($ZAP_REMOTE_INDEX);
  95. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(ID_BILLING_USERS)";
  96. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ; //or die($ZAP_REMOTE_INDEX);
  97. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(ID_PROJECT)";
  98. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ;//or die($ZAP_REMOTE_INDEX);
  99. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(K_OD_KOGO)";
  100. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ;//or die($ZAP_REMOTE_INDEX);
  101. $ZAP_REMOTE_INDEX="alter table ".$TABLE." add index(K_DATA_OTRZYM_KORESP)";
  102. mysql_query($ZAP_REMOTE_INDEX,$dst_db_conn) ;//or die($ZAP_REMOTE_INDEX);
  103. } //eof foreach 1
  104. //include("http://db.kike.pl/SE/sync.php");
  105. }