public function testDropIndex() { // single column index $table = new \Phinx\Db\Table('table1', array(), $this->adapter); $table->addColumn('email', 'string')->addIndex('email')->save(); $this->assertTrue($table->hasIndex('email')); $this->adapter->dropIndex($table->getName(), 'email'); $this->assertFalse($table->hasIndex('email')); return; // multiple column index $table2 = new \Phinx\Db\Table('table2', array(), $this->adapter); $table2->addColumn('fname', 'string')->addColumn('lname', 'string')->addIndex(array('fname', 'lname'))->save(); $this->assertTrue($table2->hasIndex(array('fname', 'lname'))); $this->adapter->dropIndex($table2->getName(), array('fname', 'lname')); $this->assertFalse($table2->hasIndex(array('fname', 'lname'))); // index with name specified, but dropping it by column name $table3 = new \Phinx\Db\Table('table3', array(), $this->adapter); $table3->addColumn('email', 'string')->addIndex('email', array('name' => 'someindexname'))->save(); $this->assertTrue($table3->hasIndex('email')); $this->adapter->dropIndex($table3->getName(), 'email'); $this->assertFalse($table3->hasIndex('email')); // multiple column index with name specified $table4 = new \Phinx\Db\Table('table4', array(), $this->adapter); $table4->addColumn('fname', 'string')->addColumn('lname', 'string')->addIndex(array('fname', 'lname'), array('name' => 'multiname'))->save(); $this->assertTrue($table4->hasIndex(array('fname', 'lname'))); $this->adapter->dropIndex($table4->getName(), array('fname', 'lname')); $this->assertFalse($table4->hasIndex(array('fname', 'lname'))); }