test.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. require_once "tables.php";
  3. require_once "config.php";
  4. require_once "function.php";
  5. if(php_sapi_name() !== "cli") {
  6. echo 'no cli';
  7. return;
  8. }
  9. $src_db = 'db_b';
  10. $dest_db = 'db_c';
  11. #打开源数据库
  12. $PDO_SRC = openDb($config[$src_db]);
  13. $PDO_SRC->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  14. #打开目标数据库
  15. $PDO_DEST = openDb($config[$dest_db]);
  16. $PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  17. foreach ($tables as $tableName => $table) {
  18. fwrite(STDOUT,$tableName.PHP_EOL);
  19. $query = "SELECT count(*) FROM {$tableName}";
  20. $stmtSrc = $PDO_SRC->prepare($query);
  21. $stmtSrc->execute();
  22. $srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC);
  23. fwrite(STDOUT,'table 1 count='.$srcData['count'].PHP_EOL);
  24. $stmtDest = $PDO_DEST->prepare($query);
  25. $stmtDest->execute();
  26. $destData = $stmtDest->fetch(PDO::FETCH_ASSOC);
  27. fwrite(STDOUT,'table 2 count='.$destData['count'].PHP_EOL);
  28. fwrite(STDOUT,'field='.count($table['fields']).PHP_EOL);
  29. $fields = '"' . implode('","',$table['fields']) . '"' ;
  30. $query = "SELECT {$fields} FROM {$tableName} limit 1 ";
  31. $stmtSrc = $PDO_SRC->prepare($query);
  32. $stmtSrc->execute();
  33. $keys = array();
  34. if(is_array($table['key'])){
  35. $keys = $table['key'];
  36. }else{
  37. $keys[] = $table['key'];
  38. }
  39. if(!empty($table['time1'])){
  40. $keys[] = $table['time1'];
  41. }
  42. if(!empty($table['time1'])){
  43. $keys[] = $table['time2'];
  44. }
  45. foreach ($keys as $key) {
  46. if(!in_array($key,$table['fields'])){
  47. fwrite(STDERR,$tableName.' no field '.$key.PHP_EOL);
  48. }
  49. }
  50. fwrite(STDOUT,PHP_EOL);
  51. }