Example #1
0
 /**
  * @param $sourceFile
  * @return string
  */
 protected function tunneledDatabaseImport($sourceFile)
 {
     //Create Dump Name Sql
     $dumpName = uniqid(time() . '_facilior_');
     //Zip the File
     $this->fileService->gzip($sourceFile, $sourceFile . '.gz');
     $baseSourceFile = basename($sourceFile . '.gz');
     $scpCommand = 'scp ##SOURCEFILE## ##SSHUSER##@##SSHHOST##:~/##DUMPNAME##';
     $scpResult = $this->shellService->execute($scpCommand, array('SOURCEFILE' => './.facilior/temp/' . $baseSourceFile, 'SSHUSER' => $this->environment->getSshUsername(), 'SSHHOST' => $this->environment->getSshHost(), 'DUMPNAME' => $dumpName . '.gz'));
     if ($scpResult->getExitCode() != 0) {
         return [$scpResult];
     }
     $sshCommand = 'ssh -l ##SSHUSER## ##SSHHOST## "gunzip ##DUMPNAME##.gz ' . '&& mysql -h ##MYSQLHOST## -u ##MYSQLUSER## -p##MYSQLPASS## ##MYSQLDB## < ##DUMPNAME## ' . '&& rm ##DUMPNAME##"';
     $sshResult = $this->shellService->execute($sshCommand, array('SSHUSER' => $this->environment->getSshUsername(), 'SSHHOST' => $this->environment->getSshHost(), 'DUMPNAME' => $dumpName, 'MYSQLHOST' => $this->environment->getHost(), 'MYSQLUSER' => $this->environment->getUsername(), 'MYSQLPASS' => $this->environment->getPassword(), 'MYSQLDB' => $this->environment->getDatabase()));
     return [$sshResult, $scpResult];
 }
Example #2
0
 /**
  * @test
  * @return void
  */
 public function testEnvironmentWillAssignVars()
 {
     $config = array('database' => array('username' => 'username', 'password' => 'password', 'host' => 'host', 'database' => 'database'), 'ssh_tunnel' => array('enabled' => true, 'host' => 'host', 'username' => 'username'));
     $env = new Environment($config);
     $this->assertSame('username', $env->getUsername());
     $this->assertSame('password', $env->getPassword());
     $this->assertSame('host', $env->getHost());
     $this->assertSame('database', $env->getDatabase());
     $this->assertSame('username', $env->getSshUsername());
     $this->assertSame('host', $env->getSshHost());
     $this->assertTrue($env->isSshTunnel());
 }