Trait yii\db\SchemaBuilderTrait
SchemaBuilderTrait contains shortcut methods to create instances of yii\db\ColumnSchemaBuilder.
These can be used in database migrations to define database schema types using a PHP interface. This is useful to define a schema in a DBMS independent way so that the application may run on different DBMS the same way.
For example you may use the following code inside your migration files:
$this->createTable('example_table', [
'id' => $this->primaryKey(),
'name' => $this->string(64)->notNull(),
'type' => $this->integer()->notNull()->defaultValue(10),
'description' => $this->text(),
'rule_name' => $this->string(64),
'data' => $this->text(),
'created_at' => $this->datetime()->notNull(),
'updated_at' => $this->datetime(),
]);
Public Methods
Protected Methods
Method | Description | Defined By |
---|---|---|
getDb() | yii\db\SchemaBuilderTrait |
Method Details
Creates a bigint column.
public yii\db\ColumnSchemaBuilder bigInteger ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a big primary key column.
public yii\db\ColumnSchemaBuilder bigPrimaryKey ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a binary column.
public yii\db\ColumnSchemaBuilder binary ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a boolean column.
public yii\db\ColumnSchemaBuilder boolean ( ) | ||
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a char column.
public yii\db\ColumnSchemaBuilder char ( $length = null ) | ||
$length | integer|null | Column size definition i.e. the maximum string length. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a date column.
public yii\db\ColumnSchemaBuilder date ( ) | ||
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a datetime column.
public yii\db\ColumnSchemaBuilder dateTime ( $precision = null ) | ||
$precision | integer|null | Column value precision. First parameter passed to the column type, e.g. DATETIME(precision). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a decimal column.
public yii\db\ColumnSchemaBuilder decimal ( $precision = null, $scale = null ) | ||
$precision | integer|null | Column value precision, which is usually the total number of digits. First parameter passed to the column type, e.g. DECIMAL(precision, scale). This parameter will be ignored if not supported by the DBMS. |
$scale | integer|null | Column value scale, which is usually the number of digits after the decimal point. Second parameter passed to the column type, e.g. DECIMAL(precision, scale). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a double column.
public yii\db\ColumnSchemaBuilder double ( $precision = null ) | ||
$precision | integer|null | Column value precision. First parameter passed to the column type, e.g. DOUBLE(precision). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a float column.
public yii\db\ColumnSchemaBuilder float ( $precision = null ) | ||
$precision | integer|null | Column value precision. First parameter passed to the column type, e.g. FLOAT(precision). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
protected abstract yii\db\Connection getDb ( ) | ||
return | yii\db\Connection | The database connection to be used for schema building. |
---|
Creates an integer column.
public yii\db\ColumnSchemaBuilder integer ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a JSON column.
public yii\db\ColumnSchemaBuilder json ( ) | ||
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|---|---|
throws | yii\base\Exception |
Creates a money column.
public yii\db\ColumnSchemaBuilder money ( $precision = null, $scale = null ) | ||
$precision | integer|null | Column value precision, which is usually the total number of digits. First parameter passed to the column type, e.g. DECIMAL(precision, scale). This parameter will be ignored if not supported by the DBMS. |
$scale | integer|null | Column value scale, which is usually the number of digits after the decimal point. Second parameter passed to the column type, e.g. DECIMAL(precision, scale). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a primary key column.
public yii\db\ColumnSchemaBuilder primaryKey ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a smallint column.
public yii\db\ColumnSchemaBuilder smallInteger ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a string column.
public yii\db\ColumnSchemaBuilder string ( $length = null ) | ||
$length | integer|null | Column size definition i.e. the maximum string length. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a text column.
public yii\db\ColumnSchemaBuilder text ( ) | ||
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a time column.
public yii\db\ColumnSchemaBuilder time ( $precision = null ) | ||
$precision | integer|null | Column value precision. First parameter passed to the column type, e.g. TIME(precision). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a timestamp column.
public yii\db\ColumnSchemaBuilder timestamp ( $precision = null ) | ||
$precision | integer|null | Column value precision. First parameter passed to the column type, e.g. TIMESTAMP(precision). This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|
Creates a tinyint column. If tinyint is not supported by the DBMS, smallint will be used.
public yii\db\ColumnSchemaBuilder tinyInteger ( $length = null ) | ||
$length | integer|null | Column size or precision definition. This parameter will be ignored if not supported by the DBMS. |
return | yii\db\ColumnSchemaBuilder | The column instance which can be further customized. |
---|