* @since 2.0.6 */ class ColumnSchemaBuilder extends AbstractColumnSchemaBuilder { /** * @inheritdoc */ protected function buildUnsignedString() { return $this->isUnsigned ? ' UNSIGNED' : ''; } /** * @inheritdoc */ protected function buildAfterString() { return $this->after !== null ? ' AFTER (' . $this->db->quoteColumnName($this->after) . ')' : ''; } /** * @inheritdoc */ protected function buildFirstString() { return $this->isFirst ? ' FIRST' : ''; } /** * @inheritdoc */ public function __toString() { switch ($this->getTypeCategory()) { case self::CATEGORY_PK: $format = '{type}{length}{check}{pos}'; break; case self::CATEGORY_NUMERIC: $format = '{type}{length}{unsigned}{default}{notnull}{check}{pos}'; break; default: $format = '{type}{length}{default}{notnull}{check}{pos}'; } return $this->buildCompleteString($format); } }