Class yii\db\ColumnSchemaBuilder
| Inheritance | yii\db\ColumnSchemaBuilder » yii\base\Object | 
|---|---|
| Implements | yii\base\Configurable | 
| Subclasses | yii\db\cubrid\ColumnSchemaBuilder, yii\db\mysql\ColumnSchemaBuilder, yii\db\oci\ColumnSchemaBuilder, yii\db\sqlite\ColumnSchemaBuilder | 
| Available since version | 2.0.6 | 
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/ColumnSchemaBuilder.php | 
ColumnSchemaBuilder helps to define database schema types using a PHP interface.
See yii\db\SchemaBuilderTrait for more detailed description and usage examples.
Public Properties
| Property | Type | Description | Defined By | 
|---|---|---|---|
| $categoryMap | array | Mapping of abstract column types (keys) to type categories (values). | yii\db\ColumnSchemaBuilder | 
| $comment | string | Comment value of the column. | yii\db\ColumnSchemaBuilder | 
| $db | yii\db\Connection | The current database connection. | yii\db\ColumnSchemaBuilder | 
Protected Properties
| Property | Type | Description | Defined By | 
|---|---|---|---|
| $after | string | The column after which this column will be added. | yii\db\ColumnSchemaBuilder | 
| $append | mixed | SQL string to be appended to column schema definition. | yii\db\ColumnSchemaBuilder | 
| $check | string | The CHECKconstraint for the column. | yii\db\ColumnSchemaBuilder | 
| $default | mixed | Default value of the column. | yii\db\ColumnSchemaBuilder | 
| $isFirst | boolean | Whether this column is to be inserted at the beginning of the table. | yii\db\ColumnSchemaBuilder | 
| $isNotNull | boolean|null | Whether the column is or not nullable. | yii\db\ColumnSchemaBuilder | 
| $isUnique | boolean | Whether the column values should be unique. | yii\db\ColumnSchemaBuilder | 
| $isUnsigned | boolean | Whether the column values should be unsigned. | yii\db\ColumnSchemaBuilder | 
| $length | integer|string|array | Column size or precision definition. | yii\db\ColumnSchemaBuilder | 
| $type | string | The column type definition such as INTEGER, VARCHAR, DATETIME, etc. | yii\db\ColumnSchemaBuilder | 
Public Methods
| Method | Description | Defined By | 
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Object | 
| __construct() | Create a column schema builder instance giving the type and value precision. | yii\db\ColumnSchemaBuilder | 
| __get() | Returns the value of an object property. | yii\base\Object | 
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object | 
| __set() | Sets value of an object property. | yii\base\Object | 
| __toString() | Builds the full string for the column's schema | yii\db\ColumnSchemaBuilder | 
| __unset() | Sets an object property to null. | yii\base\Object | 
| after() | Adds an AFTERconstraint to the column. | yii\db\ColumnSchemaBuilder | 
| append() | Specify additional SQL to be appended to column definition. | yii\db\ColumnSchemaBuilder | 
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object | 
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object | 
| check() | Sets a CHECKconstraint for the column. | yii\db\ColumnSchemaBuilder | 
| className() | Returns the fully qualified name of this class. | yii\base\Object | 
| comment() | Specifies the comment for column. | yii\db\ColumnSchemaBuilder | 
| defaultExpression() | Specify the default SQL expression for the column. | yii\db\ColumnSchemaBuilder | 
| defaultValue() | Specify the default value for the column. | yii\db\ColumnSchemaBuilder | 
| first() | Adds an FIRSTconstraint to the column. | yii\db\ColumnSchemaBuilder | 
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Object | 
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object | 
| init() | Initializes the object. | yii\base\Object | 
| notNull() | Adds a NOT NULLconstraint to the column. | yii\db\ColumnSchemaBuilder | 
| null() | Adds a NULLconstraint to the column | yii\db\ColumnSchemaBuilder | 
| unique() | Adds a UNIQUEconstraint to the column. | yii\db\ColumnSchemaBuilder | 
| unsigned() | Marks column as unsigned. | yii\db\ColumnSchemaBuilder | 
Protected Methods
| Method | Description | Defined By | 
|---|---|---|
| buildAfterString() | Builds the after constraint for the column. Defaults to unsupported. | yii\db\ColumnSchemaBuilder | 
| buildAppendString() | Builds the custom string that's appended to column definition. | yii\db\ColumnSchemaBuilder | 
| buildCheckString() | Builds the check constraint for the column. | yii\db\ColumnSchemaBuilder | 
| buildCommentString() | Builds the comment specification for the column. | yii\db\ColumnSchemaBuilder | 
| buildCompleteString() | Returns the complete column definition from input format | yii\db\ColumnSchemaBuilder | 
| buildDefaultString() | Builds the default value specification for the column. | yii\db\ColumnSchemaBuilder | 
| buildFirstString() | Builds the first constraint for the column. Defaults to unsupported. | yii\db\ColumnSchemaBuilder | 
| buildLengthString() | Builds the length/precision part of the column. | yii\db\ColumnSchemaBuilder | 
| buildNotNullString() | Builds the not null constraint for the column. | yii\db\ColumnSchemaBuilder | 
| buildUniqueString() | Builds the unique constraint for the column. | yii\db\ColumnSchemaBuilder | 
| buildUnsignedString() | Builds the unsigned string for column. Defaults to unsupported. | yii\db\ColumnSchemaBuilder | 
| getTypeCategory() | Returns the category of the column type. | yii\db\ColumnSchemaBuilder | 
Constants
| Constant | Value | Description | Defined By | 
|---|---|---|---|
| CATEGORY_NUMERIC | 'numeric' | yii\db\ColumnSchemaBuilder | |
| CATEGORY_OTHER | 'other' | yii\db\ColumnSchemaBuilder | |
| CATEGORY_PK | 'pk' | yii\db\ColumnSchemaBuilder | |
| CATEGORY_STRING | 'string' | yii\db\ColumnSchemaBuilder | |
| CATEGORY_TIME | 'time' | yii\db\ColumnSchemaBuilder | 
Property Details
$after protected property (available since version 2.0.8)
The column after which this column will be added.
protected string $after = null
$append protected property (available since version 2.0.9)
SQL string to be appended to column schema definition.
protected mixed $append = null
$categoryMap public property (available since version 2.0.8)
Mapping of abstract column types (keys) to type categories (values).
public array $categoryMap = [\yii\db\Schema::TYPE_PK => self::CATEGORY_PK, \yii\db\Schema::TYPE_UPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_BIGPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_UBIGPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_CHAR => self::CATEGORY_STRING, \yii\db\Schema::TYPE_STRING => self::CATEGORY_STRING, \yii\db\Schema::TYPE_TEXT => self::CATEGORY_STRING, \yii\db\Schema::TYPE_SMALLINT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_INTEGER => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_BIGINT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_FLOAT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DOUBLE => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DECIMAL => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DATETIME => self::CATEGORY_TIME, \yii\db\Schema::TYPE_TIMESTAMP => self::CATEGORY_TIME, \yii\db\Schema::TYPE_TIME => self::CATEGORY_TIME, \yii\db\Schema::TYPE_DATE => self::CATEGORY_TIME, \yii\db\Schema::TYPE_BINARY => self::CATEGORY_OTHER, \yii\db\Schema::TYPE_BOOLEAN => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_MONEY => self::CATEGORY_NUMERIC]
$check protected property
The CHECK constraint for the column.
protected string $check = null
$comment public property (available since version 2.0.8)
Comment value of the column.
public string $comment = null
$db public property (available since version 2.0.8)
The current database connection. It is used mainly to escape strings safely when building the final column schema string.
public yii\db\Connection $db = null
$default protected property
Default value of the column.
protected mixed $default = null
$isFirst protected property (available since version 2.0.8)
Whether this column is to be inserted at the beginning of the table.
protected boolean $isFirst = null
$isNotNull protected property
Whether the column is or not nullable. If this is true, a NOT NULL constraint will be added. If this is false, a NULL constraint will be added.
protected boolean|null $isNotNull = null
$isUnique protected property
Whether the column values should be unique. If this is true, a UNIQUE constraint will be added.
protected boolean $isUnique = false
$isUnsigned protected property (available since version 2.0.7)
Whether the column values should be unsigned. If this is true, an UNSIGNED keyword will be added.
protected boolean $isUnsigned = false
$length protected property
Column size or precision definition. This is what goes into the parenthesis after the column type. This can be either a string, an integer or an array. If it is an array, the array values will be joined into a string separated by comma.
protected integer|string|array $length = null
$type protected property
The column type definition such as INTEGER, VARCHAR, DATETIME, etc.
protected string $type = null
Method Details
__construct() public method
Create a column schema builder instance giving the type and value precision.
| public void __construct ( $type, $length = null, $db = null, $config = [] ) | ||
|---|---|---|
| $type | string | Type of the column. See $type. | 
| $length | integer|string|array | Length or precision of the column. See $length. | 
| $db | yii\db\Connection | The current database connection. See $db. | 
| $config | array | Name-value pairs that will be used to initialize the object properties | 
__toString() public method
Builds the full string for the column's schema
| public string __toString ( ) | 
|---|
after() public method (available since version 2.0.8)
Adds an AFTER constraint to the column.
Note: MySQL, Oracle and Cubrid support only.
| public $this after ( $after ) | ||
|---|---|---|
| $after | string | The column after which $this column will be added. | 
append() public method (available since version 2.0.9)
Specify additional SQL to be appended to column definition.
Position modifiers will be appended after column definition in databases that support them.
| public $this append ( $sql ) | ||
|---|---|---|
| $sql | string | The SQL string to be appended. | 
buildAfterString() protected method (available since version 2.0.8)
Builds the after constraint for the column. Defaults to unsupported.
| protected string buildAfterString ( ) | ||
|---|---|---|
| return | string | A string containing the AFTER constraint. | 
buildAppendString() protected method (available since version 2.0.9)
Builds the custom string that's appended to column definition.
| protected string buildAppendString ( ) | ||
|---|---|---|
| return | string | Custom string to append. | 
buildCheckString() protected method
Builds the check constraint for the column.
| protected string buildCheckString ( ) | ||
|---|---|---|
| return | string | A string containing the CHECK constraint. | 
buildCommentString() protected method (available since version 2.0.8)
Builds the comment specification for the column.
| protected string buildCommentString ( ) | ||
|---|---|---|
| return | string | A string containing the COMMENT keyword and the comment itself | 
buildCompleteString() protected method (available since version 2.0.8)
Returns the complete column definition from input format
| protected string buildCompleteString ( $format ) | ||
|---|---|---|
| $format | string | The format of the definition. | 
| return | string | A string containing the complete column definition. | 
buildDefaultString() protected method
Builds the default value specification for the column.
| protected string buildDefaultString ( ) | ||
|---|---|---|
| return | string | String with default value of column. | 
buildFirstString() protected method (available since version 2.0.8)
Builds the first constraint for the column. Defaults to unsupported.
| protected string buildFirstString ( ) | ||
|---|---|---|
| return | string | A string containing the FIRST constraint. | 
buildLengthString() protected method
Builds the length/precision part of the column.
| protected string buildLengthString ( ) | 
|---|
buildNotNullString() protected method
Builds the not null constraint for the column.
| protected string buildNotNullString ( ) | ||
|---|---|---|
| return | string | Returns 'NOT NULL' if $isNotNull is true, 'NULL' if $isNotNull is false or an empty string otherwise. | 
buildUniqueString() protected method
Builds the unique constraint for the column.
| protected string buildUniqueString ( ) | ||
|---|---|---|
| return | string | Returns string 'UNIQUE' if $isUnique is true, otherwise it returns an empty string. | 
buildUnsignedString() protected method (available since version 2.0.7)
Builds the unsigned string for column. Defaults to unsupported.
| protected string buildUnsignedString ( ) | ||
|---|---|---|
| return | string | A string containing UNSIGNED keyword. | 
check() public method
Sets a CHECK constraint for the column.
| public $this check ( $check ) | ||
|---|---|---|
| $check | string | The SQL of the  | 
comment() public method (available since version 2.0.8)
Specifies the comment for column.
| public $this comment ( $comment ) | ||
|---|---|---|
| $comment | string | The comment | 
defaultExpression() public method (available since version 2.0.7)
Specify the default SQL expression for the column.
| public $this defaultExpression ( $default ) | ||
|---|---|---|
| $default | string | The default value expression. | 
defaultValue() public method
Specify the default value for the column.
| public $this defaultValue ( $default ) | ||
|---|---|---|
| $default | mixed | The default value. | 
first() public method (available since version 2.0.8)
Adds an FIRST constraint to the column.
Note: MySQL, Oracle and Cubrid support only.
| public $this first ( ) | 
|---|
getTypeCategory() protected method (available since version 2.0.8)
Returns the category of the column type.
| protected string getTypeCategory ( ) | ||
|---|---|---|
| return | string | A string containing the column type category name. | 
notNull() public method
Adds a NOT NULL constraint to the column.
| public $this notNull ( ) | 
|---|
null() public method (available since version 2.0.9)
Adds a NULL constraint to the column
| public $this null ( ) | 
|---|
unique() public method
Adds a UNIQUE constraint to the column.
| public $this unique ( ) | 
|---|
unsigned() public method (available since version 2.0.7)
Marks column as unsigned.
| public $this unsigned ( ) | 
|---|
    © 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
    http://www.yiiframework.com/doc-2.0/yii-db-columnschemabuilder.html