public function getSql()
    {
        if ($this->column instanceof CustomColumn) {
            $columnType = $this->column->getType();
        } else {
            $columnTypeMapper = new ColumnTypeMapper();
            $columnType = $columnTypeMapper->getNative($this->column->getType());
        }

         $sql = sprintf('ALTER TABLE %s ADD COLUMN %s %s %s %s;'
            , $this->column->getTable()->getQualifiedName()
            , $this->column->getName()
            , $columnType
            , $this->column->isNotNull() ? 'NOT NULL' : ''
            , null === $this->column->getDefault() ? '' : 'DEFAULT'. ' ' . $this->column->getDefault()
        );

        $columnDescription = $this->column->getDescription();
        if (!empty($columnDescription)) {
            $sql .= sprintf("COMMENT ON COLUMN %s.%s IS '%s';",
                $this->column->getTable()->getQualifiedName(),
                $this->column->getName(),
                $columnDescription);
        }

        return $sql;
    }
public function getSql()
    {
        if ($this->column instanceof CustomColumn) {
            $columnType = $this->column->getType();
        } else {
            $columnTypeMapper = new ColumnTypeMapper();
            $columnType = $columnTypeMapper->getNative($this->column->getType());
        }

         $sql = sprintf('ALTER TABLE %s ADD COLUMN %s %s %s %s;'
            , $this->column->getTable()->getQualifiedName()
            , $this->column->getName()
            , $columnType
            , $this->column->isNotNull() ? 'NOT NULL' : ''
            , null === $this->column->getDefault() ? '' : 'DEFAULT'. ' ' . $this->column->getDefault()
        );

        $columnDescription = $this->column->getDescription();
        if (!empty($columnDescription)) {
            $sql .= sprintf("COMMENT ON COLUMN %s.%s IS '%s';",
                $this->column->getTable()->getQualifiedName(),
                $this->column->getName(),
                $columnDescription);
        }

        return $sql;
    }
{@inheritdoc}