Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/07/2019, 07:06
xoceunder
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: crear un backup mysql con Illuminate

Casi lo estoy logrando pero me falta ayuda por favor

Código PHP:
Ver original
  1. $arraynamesexist = [];
  2.     $tables = $capsule::select('SHOW TABLES');
  3.     foreach ($tables as $key => $val) {
  4.         $tableName = (array)$val;
  5.         $tableName = array_shift($tableName);
  6.         array_push($arraynamesexist, $tableName);
  7.     }
  8.    
  9.     $sqlScript = "";
  10.     foreach($arraynamesexist as $table){
  11.        
  12.         $result = $capsule->table($table)->get();
  13.         $columnCount = count($result);
  14.         $sqlScript.= '--';
  15.         $sqlScript.="\n";
  16.         $sqlScript.= '-- Estructura de tabla para la tabla `'.$table.'`';
  17.         $sqlScript.="\n";
  18.         $sqlScript.= '--';
  19.         $sqlScript.="\n";
  20.         $sqlScript.= 'DROP TABLE '.$table.';';
  21.         $sqlScript.= "\nCREATE TABLE ".$table.";\n\n";
  22.         $counter = 1;
  23.        
  24.         for ($i = 0; $i < $columnCount; $i ++) {
  25.             foreach($result[$i] as $key=> $row){
  26.               $num_fields  = count($row);
  27.               if($counter == 1){
  28.                  $sqlScript.= 'INSERT INTO '.$table.' VALUES(';
  29.               } else{
  30.                  $sqlScript.= '(';
  31.               }
  32.               for ($j = 0; $j < $columnCount; $j ++) {
  33.                 //$row[$j] = addslashes($row[$j]);
  34.                 //$row[$j] = str_replace("\n","\\n",$row[$j]);
  35.                 if (isset($row[$j])) {
  36.                     $sqlScript .= '"' . $row[$j] . '"';
  37.                 } else {
  38.                     $sqlScript .= '""';
  39.                 }
  40.                 if ($j < ($columnCount - 1)) {
  41.                     $sqlScript .= ',';
  42.                 }
  43.               }
  44.               $sqlScript .= ");\n";
  45.               ++$counter;
  46.             }
  47.         }
  48.       $sqlScript.="\n";
  49.     }