Advertisement
Guest User

Untitled

a guest
Apr 14th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. /*
  2. * Author: Artur Montenegro
  3. * Codigo para comparar o banco de testes e o banco de producao
  4. */
  5.  
  6. <?php
  7. $dbhost = '';
  8. $dbuser = '';
  9. $dbpass = '';
  10. $query = null;
  11.  
  12. $teste = '';
  13. $producao = '';
  14.  
  15. $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  16.  
  17. if(! $conn ){
  18. die('Could not connect: ' . mysql_error());
  19. }
  20. mysql_select_db($teste);
  21.  
  22. $query = "show tables";
  23.  
  24. $retval = mysql_query($query, $conn );
  25.  
  26. $tablesA = array();
  27.  
  28. while($table = mysql_fetch_row($retval)){
  29. $tablesA[] = $table[0];
  30. }
  31.  
  32. mysql_select_db($producao);
  33. $query = "show tables";
  34.  
  35. $retval = mysql_query($query, $conn );
  36.  
  37.  
  38. $tablesB = array();
  39.  
  40. while($table = mysql_fetch_row($retval)){
  41. $tablesB[] = $table[0];
  42. }
  43.  
  44.  
  45. sort($tablesA, SORT_STRING);
  46. sort($tablesB, SORT_STRING);
  47.  
  48. for ($i = 0; $i < count($tablesA); $i++){
  49. echo "$tableA[$i]" . "\n";
  50.  
  51. mysql_select_db($teste);
  52. $query = "DESCRIBE " . $tablesA[$i];
  53.  
  54. $retval = mysql_query($query, $conn );
  55.  
  56. $resA = array();
  57.  
  58. while($desc = mysql_fetch_row($retval)){
  59. $resA[] = $desc[0];
  60. }
  61.  
  62. mysql_select_db($producao);
  63.  
  64. $query = "DESCRIBE " . $tablesA[$i];
  65.  
  66. $retval = mysql_query($query, $conn );
  67.  
  68. $resB = array();
  69.  
  70. while($desc = mysql_fetch_row($retval)){
  71. $resB[] = $desc[0];
  72. }
  73.  
  74. if(count($resA) != count($resB)){
  75. echo("A tabela " . $tablesA[$i] . " tem quantidade de atributos diferentes entre o banco de testes e de produção" . "\n\n");
  76. echo("Os elementos são: \n");
  77. $diffResult = array_diff($resA, $resB);
  78. print_r($diffResult);
  79. echo "------------------------------\n\n";
  80. die("QTD em teste " . count($resA) . " xxxxxxxx " . "QTD em producao " . count($resB));
  81. }
  82.  
  83. sort($resA, SORT_STRING);
  84. sort($resB, SORT_STRING);
  85.  
  86. for($j = 0; $j < count($resA); $j++){
  87. echo ($resA[$j] . ">>>>>><<<<<<" . $resB[$j] . "\n");
  88. if(strcmp($resA[$j],$resB[$j]) != 0){
  89. echo("BD TESTE " . $resA[$j] . " ::::::: " . "BD PRODUCAO " . $resB[$j] . "\n\n");
  90. die("A tabela " . $tablesA[$i] . " tem atributo diferente entre o banco de testes e o de produção" . "\n\n");
  91. }
  92. }
  93. }
  94. echo "\n\n\n\nNenhuma diferença foi encontrada";
  95.  
  96. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement