public function addPrimaryKey($name, $table, $columns)
    {
        $description = "add primary key $name on $table (" . (is_array($columns) ? implode(',', $columns) : $columns) . ')';
        $cmdPromise = $this->createCommand()->addPrimaryKey($name, $table, $columns)->execute();
        return $this->execPromise($cmdPromise, $description);
    }