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']; $dbName = $this->container->settings['db']['dbname'];
$dbHost = $this->container->settings['db']['host']; $dbHost = $this->container->settings['db']['host'];
$dumpfile = sprintf('%sdbdump.sql.gz', $this->container->saveDir); switch ($this->container->settings['db']['driver']) {
case 'mysql':
$cmd = sprintf( $cmd = sprintf(
'mysqldump -u %s --password=%s --host=%s %s | gzip --best > %s', 'mysqldump -u %s --password=%s --host=%s %s',
$dbUser, $dbPass, $dbHost, $dbName, $dumpfile $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;
}
passthru(
sprintf(
'%s | gzip --best > %sdbdump.sql.gz',
$cmd, $this->container->saveDir
)
); );
passthru($cmd);
} }
public function runIcml() 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"; 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() 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"; 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";