public function addColumn(DeclareColumn $column)
{
if (isset($this->columns[$column->name])) {
throw new Exception("column {$name} of " . get_class($this) . ' is already defined.');
}
$this->columnNames[] = $column->name;
return $this->columns[$column->name] = $column;
}