LazyRecord\Backup\MySQLBackup::backup PHP Метод

backup() публичный Метод

$ mysqldump sourcedb -u -p | mysql destdb -u -p $socket = ini_get('pdo_mysql.default_socket') ?: ini_get('mysqli.default_socket') ?: ini_get('mysql.default_socket');
public backup ( Connection $source, Connection $dest )
$source LazyRecord\Connection
$dest LazyRecord\Connection
    public function backup(Connection $source, Connection $dest)
    {
        $dumpCommand = $this->mysqldump . ' ' . implode(' ', $this->formatCommandParameters($source));
        $mysqlCommand = $this->mysql . ' ' . implode(' ', $this->formatCommandParameters($dest));
        $command = $dumpCommand . ' | ' . $mysqlCommand;
        $lastline = system($command, $ret);
        return $ret == 0 ? true : false;
    }

Usage Example

Пример #1
0
 public function testBackup()
 {
     $this->conn->query('DROP DATABASE IF EXISTS backup_test');
     $this->conn->query('CREATE DATABASE IF NOT EXISTS backup_test CHARSET utf8;');
     $dest = Connection::create(['dsn' => 'mysql:host=localhost;dbname=backup_test', 'user' => 'root', 'pass' => null, 'connection_options' => [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8']]);
     $backup = new MySQLBackup();
     $backup->backup($this->conn, $dest);
 }