public function toSql(BaseDriver $driver, ArgumentArray $args)
{
$sql = 'CHANGE COLUMN ';
if (is_string($this->fromColumn)) {
$sql .= $driver->quoteIdentifier($this->fromColumn);
} else {
if ($this->fromColumn instanceof Column) {
$sql .= $driver->quoteIdentifier($this->fromColumn->getName());
}
}
// the 'toColumn' must be a type of Column, we need at least column type to rename.
$sql .= ' ' . $this->toColumn->buildDefinitionSqlForModify($driver, $args);
if ($driver instanceof MySQLDriver) {
if ($this->after) {
$sql .= ' AFTER ' . $driver->quoteIdentifier($this->after);
} else {
if ($this->first) {
$sql .= ' FIRST';
}
}
}
return $sql;
}