Class SqlserverSchemaDialect
Schema management/reflection features for SQLServer.
Constants summary
-   stringDEFAULT_SCHEMA_NAME'dbo'
Properties summary
-  $_driver protected\Cake\Database\DriverInterfaceThe driver instance being used. 
Method Summary
-  _convertConstraintColumns() protectedConvert foreign key constraints references to a valid stringified list 
-  addConstraintSql() publicGenerate the SQL queries needed to add foreign key constraints to the table 
-  convertForeignKeyDescription() publicConvert a foreign key description into constraints on the Table object. 
-  convertIndexDescription() publicConvert an index description results into abstract schema indexes or constraints. 
-  dropConstraintSql() publicGenerate the SQL queries needed to drop foreign key constraints from the table 
Method Detail
__construct() public
__construct(\Cake\Database\DriverInterface $driver)
Constructor
This constructor will connect the driver so that methods like columnSql() and others will fail when the driver has not been connected.
Parameters
-  \Cake\Database\DriverInterface$driver
- The driver to use. 
_convertColumn() protected
_convertColumn(string $col, ?int $length, ?int $precision, ?int $scale)
Convert a column definition to the abstract types.
The returned type will be a type that Cake\Database\TypeFactory can handle.
Parameters
-  string$col
- The column type 
-  int|null$length optional
- the column length 
-  int|null$precision optional
- The column precision 
-  int|null$scale optional
- The column scale 
Returns
arrayArray of column information.
Links
_convertConstraintColumns() protected
_convertConstraintColumns(mixed $references)
Convert foreign key constraints references to a valid stringified list
Parameters
-  string|array$references
- The referenced columns of a foreign key constraint statement 
Returns
string_convertOnClause() protected
_convertOnClause(string $clause)
Convert string on clauses to the abstract ones.
Parameters
-  string$clause
- The on clause to convert. 
Returns
string_defaultValue() protected
_defaultValue(mixed $type, mixed $default)
Manipulate the default value.
Removes () wrapping default values, extracts strings from N'' wrappers and collation text and converts NULL strings.
Parameters
-  string$type
- The schema type 
-  string|null$default
- The default value. 
Returns
string|int|null_foreignOnClause() protected
_foreignOnClause(string $on)
Generate an ON clause for a foreign key.
Parameters
-  string$on
- The on clause 
Returns
string_keySql() protected
_keySql(string $prefix, array $data)
Helper method for generating key SQL snippets.
Parameters
-  string$prefix
- The key prefix 
-  array$data
- Key data. 
Returns
stringaddConstraintSql() public
addConstraintSql(\Cake\Database\Schema\TableSchema $schema)
Generate the SQL queries needed to add foreign key constraints to the table
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table instance the foreign key constraints are. 
Returns
arraySQL fragment.
columnSql() public
columnSql(\Cake\Database\Schema\TableSchema $schema, string $name)
Generate the SQL fragment for a single column in a table.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table instance the column is in. 
-  string$name
- The name of the column. 
Returns
stringSQL fragment.
constraintSql() public
constraintSql(\Cake\Database\Schema\TableSchema $schema, string $name)
Generate the SQL fragments for defining table constraints.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table instance the column is in. 
-  string$name
- The name of the column. 
Returns
stringSQL fragment.
convertColumnDescription() public
convertColumnDescription(\Cake\Database\Schema\TableSchema $schema, array $row)
Convert field description results into abstract schema fields.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table object to append fields to. 
-  array$row
- The row data from - describeColumnSql.
convertForeignKeyDescription() public
convertForeignKeyDescription(\Cake\Database\Schema\TableSchema $schema, array $row)
Convert a foreign key description into constraints on the Table object.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table object to append a constraint to. 
-  array$row
- The row data from - describeForeignKeySql.
convertIndexDescription() public
convertIndexDescription(\Cake\Database\Schema\TableSchema $schema, array $row)
Convert an index description results into abstract schema indexes or constraints.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table object to append an index or constraint to. 
-  array$row
- The row data from - describeIndexSql.
convertOptionsDescription() public
convertOptionsDescription(\Cake\Database\Schema\TableSchema $schema, array $row)
Convert options data into table options.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- Table instance. 
-  array$row
- The row of data. 
createTableSql() public
createTableSql(\Cake\Database\Schema\TableSchema $schema, array $columns, array $constraints, array $indexes)
Generate the SQL to create a table.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- Table instance. 
-  string[]$columns
- The columns to go inside the table. 
-  string[]$constraints
- The constraints for the table. 
-  string[]$indexes
- The indexes for the table. 
Returns
string[]SQL statements to create a table.
describeColumnSql() public
describeColumnSql(string $tableName, array $config)
Generate the SQL to describe a table.
Parameters
-  string$tableName
- The table name to get information on. 
-  array$config
- The connection configuration. 
Returns
arrayAn array of (sql, params) to execute.
describeForeignKeySql() public
describeForeignKeySql(string $tableName, array $config)
Generate the SQL to describe the foreign keys in a table.
Parameters
-  string$tableName
- The table name to get information on. 
-  array$config
- The connection configuration. 
Returns
arrayAn array of (sql, params) to execute.
describeIndexSql() public
describeIndexSql(string $tableName, array $config)
Generate the SQL to describe the indexes in a table.
Parameters
-  string$tableName
- The table name to get information on. 
-  array$config
- The connection configuration. 
Returns
arrayAn array of (sql, params) to execute.
describeOptionsSql() public
describeOptionsSql(string $tableName, array $config)
Generate the SQL to describe table options
Parameters
-  string$tableName
- Table name. 
-  array$config
- The connection configuration. 
Returns
arraySQL statements to get options for a table.
dropConstraintSql() public
dropConstraintSql(\Cake\Database\Schema\TableSchema $schema)
Generate the SQL queries needed to drop foreign key constraints from the table
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table instance the foreign key constraints are. 
Returns
arraySQL fragment.
dropTableSql() public
dropTableSql(\Cake\Database\Schema\TableSchema $schema)
Generate the SQL to drop a table.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- Schema instance 
Returns
arraySQL statements to drop a table.
indexSql() public
indexSql(\Cake\Database\Schema\TableSchema $schema, string $name)
Generate the SQL fragment for a single index in a table.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- The table object the column is in. 
-  string$name
- The name of the column. 
Returns
stringSQL fragment.
listTablesSql() public
listTablesSql(array $config)
Generate the SQL to list the tables.
Parameters
-  array$config
- The connection configuration to use for getting tables from. 
Returns
arrayAn array of (sql, params) to execute.
truncateTableSql() public
truncateTableSql(\Cake\Database\Schema\TableSchema $schema)
Generate the SQL to truncate a table.
Parameters
-  \Cake\Database\Schema\TableSchema$schema
- Table instance. 
Returns
arraySQL statements to truncate a table.
Property Detail
$_driver protected
The driver instance being used.
Type
\Cake\Database\DriverInterface
    © 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
    https://api.cakephp.org/4.1/class-Cake.Database.Schema.SqlserverSchemaDialect.html