Merge pull request #4 from dmamontov/master

add support for pgsql dump
This commit is contained in:
Alex Lushpai 2015-11-18 10:35:06 +03:00
commit 76c07136db
3 changed files with 28 additions and 6 deletions

View File

@ -62,13 +62,30 @@ class Command
$dbName = $this->container->settings['db']['dbname'];
$dbHost = $this->container->settings['db']['host'];
$dumpfile = sprintf('%sdbdump.sql.gz', $this->container->saveDir);
switch ($this->container->settings['db']['driver']) {
case 'mysql':
$cmd = sprintf(
'mysqldump -u %s --password=%s --host=%s %s',
$dbUser, $dbPass, $dbHost, $dbName
);
break;
case 'pgsql':
$cmd = sprintf(
'PGPASSWORD=\'%s\' pg_dump -U %s -h %s %s',
$dbPass, $dbUser, $dbHost, $dbName
);
break;
default:
CommandHelper::dumpNotice();
return;
}
$cmd = sprintf(
'mysqldump -u %s --password=%s --host=%s %s | gzip --best > %s',
$dbUser, $dbPass, $dbHost, $dbName, $dumpfile
passthru(
sprintf(
'%s | gzip --best > %sdbdump.sql.gz',
$cmd, $this->container->saveDir
)
);
passthru($cmd);
}
public function runIcml()

View File

@ -25,6 +25,11 @@ class CommandHelper
echo " -h\t\tHistory type, if type is set only this history will be recieved\n";
}
public static function dumpNotice()
{
echo "\033[0;31mUnfortunately for the database can not be used to make the dump\033[0m\n";
}
public static function updateNotice()
{
echo "\033[0;31mFull update is not allowed, please select one of the following flags: limit, set of identifiers or a specific id\033[0m\n";