24 lines
653 B
PHP
24 lines
653 B
PHP
<?php
|
|
|
|
namespace App\Utils\Builders;
|
|
|
|
use AdamBrett\ShellWrapper\Command\Builder as CommandBuilder;
|
|
use App\Utils\Builder;
|
|
use App\Utils\Traits\Auth;
|
|
|
|
class DatabaseBuilder extends Builder
|
|
{
|
|
use Auth;
|
|
|
|
/**
|
|
* @return CommandBuilder
|
|
*/
|
|
public function builder(): CommandBuilder
|
|
{
|
|
$credential = $this->getCredential();
|
|
return new CommandBuilder("docker exec {$this->getContainerName()} /usr/bin/mysqldump " .
|
|
"{$this->getUsernameArg()}{$credential->getUsername()} {$this->getPasswordArg()}{$credential->getPassword()} --all-databases > " .
|
|
"{$this->getBackupFolder()}/backup.sql");
|
|
}
|
|
}
|