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()); }