Esempio n. 1
0
 public function doSync()
 {
     $ui = new UserInterface();
     $statusCallback = function ($status) {
         echo $status->Timestamp . " -- ";
         if ($status->isError()) {
             echo "ERROR: ";
         }
         if ($status->isWarning()) {
             echo "WARNING: ";
         }
         if ($status->isRawOutput()) {
             echo "\n================\n";
         }
         echo $status->Message . "\n";
         if ($status->isRawOutput()) {
             echo "================\n";
         }
     };
     $ui->say("o  Syncing upload folders from {$this->sourceName} to {$this->destName}.");
     $folderSyncSuccess = $this->folderSync->sync($statusCallback);
     $ui->say("o  Syncing database from {$this->sourceName} to {$this->destName}.");
     $databaseSyncSuccess = $this->databaseSync->sync($statusCallback);
     if (!$folderSyncSuccess || !$databaseSyncSuccess) {
         $ui->say("o  Completed with errors.");
     } else {
         $ui->say("o  Completed successfully!");
     }
 }
 public function testBasicRemoteToRemoteSync()
 {
     $options = $this->getRemoteToRemoteOptions();
     $dbSync = new DatabaseSync($options);
     $success = $dbSync->sync([$this, "statusCallback"]);
     $this->assertTrue($success);
     $scmd = new Ssh\Command($this->destSsh);
     $remoteQueryCommand = CommandUtil::buildMysqlCommand($options['dest']['db']);
     $remoteQueryCommand .= " -e 'select name, content from wp_deploy_synctest'";
     $scmd->exec($remoteQueryCommand);
     $this->assertTrue($scmd->success());
     $this->assertRegExp("/test_value_one\ttest_content_one/", $scmd->getOutput());
 }