| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?php/** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */namespace yii\db\mysql;use yii\db\ColumnSchemaBuilder as AbstractColumnSchemaBuilder;/** * ColumnSchemaBuilder is the schema builder for MySQL databases. * * @author Chris Harris <chris@buckshotsoftware.com> * @since 2.0.8 */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}     */    protected function buildCommentString()    {        return $this->comment !== null ? ' COMMENT ' . $this->db->quoteValue($this->comment) : '';    }    /**     * {@inheritdoc}     */    public function __toString()    {        switch ($this->getTypeCategory()) {            case self::CATEGORY_PK:                $format = '{type}{length}{comment}{check}{append}{pos}';                break;            case self::CATEGORY_NUMERIC:                $format = '{type}{length}{unsigned}{notnull}{unique}{default}{comment}{check}{append}{pos}';                break;            default:                $format = '{type}{length}{notnull}{unique}{default}{comment}{check}{append}{pos}';        }        return $this->buildCompleteString($format);    }}
 |