protected function copyAll(Driver $src, Driver $dst) { foreach ($src->getDatabaseNames() as $db) { if ($db != 'test') { continue; } $dst->createDatabase($db); foreach ($src->getSchemaNames($db) as $schema) { $dst->createSchema($db, $schema); foreach ($src->getTableNames($db, $schema) as $table) { $dst->setTable($db, $schema, $src->getTable($db, $schema, $table)); } } } }
public function testGetNames() { $drv = new MysQLDriver(['pdo' => $this->getPDOPassthrough(['foo'])]); $this->assertEquals(['foo'], $drv->getDatabaseNames()); $this->assertEquals([Driver::SCHEMA_DEFAULT], $drv->getSchemaNames('ignored')); $this->assertEquals(['foo'], $drv->getTableNames('ignored', 'ignored')); $drv = new MySQLDriver(['pdo' => $this->getPDOPassthrough(false)]); $this->assertFalse($drv->getDatabaseNames()); $this->assertFalse($drv->getSchemaNames('ignored')); $this->assertFalse($drv->getTableNames('ignored', 'ignored')); $drv = new MySQLDriver(['pdo' => $this->getPDOPassthrough(new PDOException())]); $this->assertFalse($drv->getDatabaseNames()); $this->assertFalse($drv->getSchemaNames('ignored')); $this->assertFalse($drv->getTableNames('ignored', 'ignored')); }