implemented mysql backup methods

This commit is contained in:
Timothy Warren 2012-05-15 13:35:59 -04:00
parent fd4a9e1587
commit 257609168e
4 changed files with 20 additions and 15 deletions

View File

@ -401,7 +401,7 @@ abstract class DB_PDO extends PDO {
* @param bool $filtered_index
* @return mixed
*/
protected function driver_query($sql, $filtered_index=TRUE)
public function driver_query($sql, $filtered_index=TRUE)
{
// Return if the query doesn't apply to the driver
if ($sql === FALSE)

View File

@ -124,30 +124,30 @@ class MySQL_Util extends DB_Util {
*/
public function backup_structure()
{
$sql = '';
$string = array();
// Get databases
$dbs = $this->conn->get_dbs();
$dbs = $this->get_dbs();
foreach($dbs as &$d)
{
// Get the list of tables
$tables = $this->conn->driver_query("SHOW TABLES FROM `{$database}`");
// Get the list of views
$views = $this->conn->driver_query("SHOW VIEWS FROM `{$database}`");
$tav = array_merge($tabes,$views);
foreach($tav as &$table)
// Skip built-in dbs
if ($d == 'mysql')
{
$string = $this->conn->driver_query("SHOW CREATE TABLE {$table}");
continue;
}
// Get the list of tables
$tables = $this->driver_query("SHOW TABLES FROM `{$d}`");
foreach($tables as &$table)
{
$array = $this->driver_query("SHOW CREATE TABLE `{$d}`.`{$table}`", FALSE);
$string[] = $array[0]['Create Table'];
}
}
// TODO Implement Backup function
return '';
return implode("\n\n", $string);
}
// --------------------------------------------------------------------------

View File

@ -192,4 +192,9 @@ SQL;
{
$this->assertFalse($this->db->get_sequences());
}
public function TestBackup()
{
$this->assertTrue(is_string($this->db->util->backup_structure()));
}
}

Binary file not shown.