/** * testBuildIndex method * * @return void */ public function testBuildIndex() { $data = array('PRIMARY' => array('column' => 'id')); $result = $this->Dbo->buildIndex($data); $expected = array('PRIMARY KEY (`id`)'); $this->assertSame($expected, $result); $data = array('MyIndex' => array('column' => 'id', 'unique' => true)); $result = $this->Dbo->buildIndex($data); $expected = array('UNIQUE KEY `MyIndex` (`id`)'); $this->assertEquals($expected, $result); $data = array('MyIndex' => array('column' => array('id', 'name'), 'unique' => true)); $result = $this->Dbo->buildIndex($data); $expected = array('UNIQUE KEY `MyIndex` (`id`, `name`)'); $this->assertEquals($expected, $result); $data = array('MyFtIndex' => array('column' => array('name', 'description'), 'type' => 'fulltext')); $result = $this->Dbo->buildIndex($data); $expected = array('FULLTEXT KEY `MyFtIndex` (`name`, `description`)'); $this->assertEquals($expected, $result); $data = array('MyTextIndex' => array('column' => 'text_field', 'length' => array('text_field' => 20))); $result = $this->Dbo->buildIndex($data); $expected = array('KEY `MyTextIndex` (`text_field`(20))'); $this->assertEquals($expected, $result); $data = array('MyMultiTextIndex' => array('column' => array('text_field1', 'text_field2'), 'length' => array('text_field1' => 20, 'text_field2' => 20))); $result = $this->Dbo->buildIndex($data); $expected = array('KEY `MyMultiTextIndex` (`text_field1`(20), `text_field2`(20))'); $this->assertEquals($expected, $result); }
/** * testBuildIndex method * * @return void */ public function testBuildIndex() { $data = array('PRIMARY' => array('column' => 'id')); $result = $this->Dbo->buildIndex($data); $expected = array('PRIMARY KEY (`id`)'); $this->assertSame($expected, $result); $data = array('MyIndex' => array('column' => 'id', 'unique' => true)); $result = $this->Dbo->buildIndex($data); $expected = array('UNIQUE KEY `MyIndex` (`id`)'); $this->assertEquals($expected, $result); $data = array('MyIndex' => array('column' => array('id', 'name'), 'unique' => true)); $result = $this->Dbo->buildIndex($data); $expected = array('UNIQUE KEY `MyIndex` (`id`, `name`)'); $this->assertEquals($expected, $result); }
/** * testBuildIndex method * * @return void */ public function testBuildIndex() { $indexes = array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'client_id' => array('column' => 'client_id', 'unique' => 1)); $result = $this->db->buildIndex($indexes, 'items'); $expected = array('PRIMARY KEY ([id])', 'ALTER TABLE items ADD CONSTRAINT client_id UNIQUE([client_id]);'); $this->assertEquals($expected, $result); $indexes = array('client_id' => array('column' => 'client_id')); $result = $this->db->buildIndex($indexes, 'items'); $this->assertEquals($result, array()); $indexes = array('client_id' => array('column' => array('client_id', 'period_id'), 'unique' => 1)); $result = $this->db->buildIndex($indexes, 'items'); $expected = array('ALTER TABLE items ADD CONSTRAINT client_id UNIQUE([client_id], [period_id]);'); $this->assertEquals($expected, $result); }