Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/07/2019, 06:31
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

Tengo esto ya echo pero me falta mas y no tengo idea

Código PHP:
Ver original
  1. function backup_tables($tables = '*') {
  2.  
  3.     $array_tables = [];
  4.     $return="";
  5.     $tables = $capsule::select('SHOW TABLES');
  6.     foreach ($tables as $key => $val) {
  7.         $tableName = (array)$val;
  8.         $tableName = array_shift($tableName);
  9.         array_push($array_tables, $tableName);
  10.     }
  11.  
  12.     foreach($array_tables as $table){
  13.        
  14.         $result = $capsule->table($table)->get();
  15.         $num_fields = count($result);
  16.         $return.= '--';
  17.         $return.="\n";
  18.         $return.= '-- Estructura de tabla para la tabla `'.$table.'`';
  19.         $return.="\n";
  20.         $return.= '--';
  21.         $return.="\n";
  22.         $return.= 'DROP TABLE '.$table.';';
  23.         $return.= "\nCREATE TABLE ".$table.";\n\n";
  24.         for ($i = 0; $i < $num_fields; $i++) {
  25.             foreach($result[$i] as $row){
  26.               if (isset($row))
  27.                     { $return2.= '"'.$row.'"' ;
  28.               } else {
  29.                     $return2.= '"not"';
  30.               }
  31.             }
  32.         }
  33.         $return.="\n\n";
  34.     }
  35.    
  36.     //save file
  37.     $handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
  38.     fwrite($handle,$return);
  39.     fclose($handle);
  40. }