Exemple #1
0
 /**
  * Sync database
  */
 protected function runTaskMysql()
 {
     // ##################
     // Sync databases
     // ##################
     foreach ($this->contextConfig->getArray('mysql.database') as $database) {
         // make sure we don't have any leading whitespaces
         $database = trim($database);
         // dump database
         $dumpFile = $this->tempDir . '/mysql/' . $database . '.dump';
         // ##########
         // Dump from server
         // ##########
         $this->output->writeln('<p>Dumping database "' . $database . '"</p>');
         $mysqldump = $this->createLocalMySqlDumpCommand($database);
         if ($this->contextConfig->exists('mysql.filter')) {
             $mysqldump = $this->addMysqlDumpFilterArguments($mysqldump, $database, false);
         }
         $command = new OutputCombineCommandBuilder();
         $command->addCommandForCombinedOutput($mysqldump);
         $command->setOutputRedirectToFile($dumpFile)->executeInteractive();
     }
     // ##################
     // Backup mysql dump
     // ##################
     $source = $this->tempDir;
     $target = $this->getRsyncPathFromConfig() . self::PATH_DUMP;
     $command = $this->createRsyncCommand($source, $target);
     $command->executeInteractive();
 }