public static function create(array $config)
{
$connection = new self($config['dsn'], $config['user'], $config['pass'], $config['connection_options']);
$connection->config = $config;
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
// TODO: can we make this optional ?
return $connection;
}
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); }