The columns in the new table should be specified as name-definition pairs (e.g. 'name' => 'string'),
where name stands for a column name which will be properly quoted by the method, and definition
stands for the column type which can contain an abstract DB type.
The QueryBuilder::getColumnType method will be invoked to convert any abstract type into a physical one.
If a column is specified with definition only (e.g. 'PRIMARY KEY (name, type)'), it will be directly
inserted into the generated SQL.
For example,
php
$sql = $queryBuilder->createTable('user', [
'id' => 'pk',
'name' => 'string',
'age' => 'integer',
]);
public createTable ( string $table, array $columns, string $options = null ) : string | ||
$table | string | the name of the table to be created. The name will be properly quoted by the method. |
$columns | array | the columns (name => definition) in the new table. |
$options | string | additional SQL fragment that will be appended to the generated SQL. |
Результат | string | the SQL statement for creating a new DB table. |