/** * @covers ::create */ public function testCreateNodes() { $this->pdo->query(file_get_contents('tests/Database/files/nodes.sql')); $table = TableFactory::create('nodes', $this->pdo); $result = $table->getResult(); $this->assertSame('nodes', $table->getName()); $this->assertSame('utf8_unicode_ci', $table->getCollation()); $expected = ['issues' => [['type' => 'index', 'key' => 'unique', 'description' => 'An unique index on the primary key column is redundant'], ['type' => 'index', 'key' => 'key', 'description' => 'An key index on the primary key column is redundant']]]; $this->assertSame($expected, $result); }
/** * Create database * * @param \PDO $pdo Database connection * * @return Database */ public static function create(\PDO $pdo) { /** * Tables */ $tables = new TableCollection(); foreach ($pdo->query('SHOW TABLES;') as $row) { $table = TableFactory::create($row[0], $pdo); $tables->add($table); } /** * Initialization */ $database = new Database($tables); return $database; }