public function dropPrimaryKey()
    {
        if (!$this->hasPrimaryKey()) {
            throw SchemaException::tablePrimaryKeyDoesNotExist($this->getName());
        }

        foreach ($this->getIndexes() as $index) {
            if ($index->hasSameColumnNames($this->getPrimaryKey()->getColumnNames())) {
                $this->dropIndex($index->getName());
            }
        }

        $this->primaryKey = null;
    }