Class SqlserverSchema
Schema management/reflection features for SQLServer.
Constants
-
DEFAULT_SCHEMA_NAME ¶
'dbo'
Property Summary
-
$_driver protected
Cake\Database\DriverThe driver instance being used.
Method Summary
-
__construct() public
Constructor
-
_convertColumn() protected
Convert a column definition to the abstract types.
-
_convertConstraintColumns() protected
Convert foreign key constraints references to a valid stringified list
-
_convertOnClause() protected
Convert string on clauses to the abstract ones.
-
_defaultValue() protected
Manipulate the default value.
-
_foreignOnClause() protected
Generate an ON clause for a foreign key.
-
_keySql() protected
Helper method for generating key SQL snippets.
-
addConstraintSql() public
Generate the SQL queries needed to add foreign key constraints to the table
-
columnSql() public
Generate the SQL fragment for a single column in a table.
-
constraintSql() public
Generate the SQL fragments for defining table constraints.
-
convertColumnDescription() public
Convert field description results into abstract schema fields.
-
convertForeignKeyDescription() public
Convert a foreign key description into constraints on the Table object.
-
convertIndexDescription() public
Convert an index description results into abstract schema indexes or constraints.
-
convertOptionsDescription() public
Convert options data into table options.
-
createTableSql() public
Generate the SQL to create a table.
-
describeColumnSql() public
Generate the SQL to describe a table.
-
describeForeignKeySql() public
Generate the SQL to describe the foreign keys in a table.
-
describeIndexSql() public
Generate the SQL to describe the indexes in a table.
-
describeOptionsSql() public
Generate the SQL to describe table options
-
dropConstraintSql() public
Generate the SQL queries needed to drop foreign key constraints from the table
-
dropTableSql() public
Generate the SQL to drop a table.
-
indexSql() public
Generate the SQL fragment for a single index in a table.
-
listTablesSql() public
Generate the SQL to list the tables.
-
truncateTableSql() public
Generate the SQL to truncate a table.
Method Detail
__construct() ¶ public
__construct(Cake\Database\Driver $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\Driver$driver The driver to use.
_convertColumn() ¶ protected
_convertColumn(string $col, int|null $length = null, int|null $precision = null, int|null $scale = null): array
Convert a column definition to the abstract types.
The returned type will be a type that Cake\Database\Type 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
arrayLinks
_convertConstraintColumns() ¶ protected
_convertConstraintColumns(string|array $references): string
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): string|null
Convert string on clauses to the abstract ones.
Parameters
-
string$clause
Returns
string|null_defaultValue() ¶ protected
_defaultValue(string|null $default): string|null
Manipulate the default value.
Sqlite includes quotes and bared NULLs in default values. We need to remove those.
Parameters
-
string|null$default The default value.
Returns
string|null_foreignOnClause() ¶ protected
_foreignOnClause(string|null $on): string
Generate an ON clause for a foreign key.
Parameters
-
string|null$on
Returns
string_keySql() ¶ protected
_keySql(string $prefix, array $data): string
Helper method for generating key SQL snippets.
Parameters
-
string$prefix The key prefix
-
array$data Key data.
Returns
stringaddConstraintSql() ¶ public
addConstraintSql(Cake\Database\Schema\Table $table): array
Generate the SQL queries needed to add foreign key constraints to the table
Parameters
-
Cake\Database\Schema\Table$table
Returns
arraycolumnSql() ¶ public
columnSql(Cake\Database\Schema\Table $table, string $name): string
Generate the SQL fragment for a single column in a table.
Parameters
-
Cake\Database\Schema\Table$table -
string$name
Returns
stringconstraintSql() ¶ public
constraintSql(Cake\Database\Schema\Table $table, string $name): string
Generate the SQL fragments for defining table constraints.
Parameters
-
Cake\Database\Schema\Table$table -
string$name
Returns
stringconvertColumnDescription() ¶ public
convertColumnDescription(Cake\Database\Schema\Table $table, array $row): void
Convert field description results into abstract schema fields.
Parameters
-
Cake\Database\Schema\Table$table -
array$row
Returns
voidconvertForeignKeyDescription() ¶ public
convertForeignKeyDescription(Cake\Database\Schema\Table $table, array $row): void
Convert a foreign key description into constraints on the Table object.
Parameters
-
Cake\Database\Schema\Table$table -
array$row
Returns
voidconvertIndexDescription() ¶ public
convertIndexDescription(Cake\Database\Schema\Table $table, array $row): void
Convert an index description results into abstract schema indexes or constraints.
Parameters
-
Cake\Database\Schema\Table$table -
array$row
Returns
voidconvertOptionsDescription() ¶ public
convertOptionsDescription(Cake\Database\Schema\Table $table, array $row): void
Convert options data into table options.
Parameters
-
Cake\Database\Schema\Table$table Table instance.
-
array$row The row of data.
Returns
voidcreateTableSql() ¶ public
createTableSql(Cake\Database\Schema\Table $table, array $columns, array $constraints, array $indexes): array
Generate the SQL to create a table.
Parameters
-
Cake\Database\Schema\Table$table -
array$columns -
array$constraints -
array$indexes
Returns
arraydescribeColumnSql() ¶ public
describeColumnSql(string $tableName, array $config): array
Generate the SQL to describe a table.
Parameters
-
string$tableName -
array$config
Returns
arraydescribeForeignKeySql() ¶ public
describeForeignKeySql(string $tableName, array $config): array
Generate the SQL to describe the foreign keys in a table.
Parameters
-
string$tableName -
array$config
Returns
arraydescribeIndexSql() ¶ public
describeIndexSql(string $tableName, array $config): array
Generate the SQL to describe the indexes in a table.
Parameters
-
string$tableName -
array$config
Returns
arraydescribeOptionsSql() ¶ public
describeOptionsSql(string $tableName, array $config): array
Generate the SQL to describe table options
Parameters
-
string$tableName Table name.
-
array$config The connection configuration.
Returns
arraydropConstraintSql() ¶ public
dropConstraintSql(Cake\Database\Schema\Table $table): array
Generate the SQL queries needed to drop foreign key constraints from the table
Parameters
-
Cake\Database\Schema\Table$table
Returns
arraydropTableSql() ¶ public
dropTableSql(Cake\Database\Schema\Table $table): array
Generate the SQL to drop a table.
Parameters
-
Cake\Database\Schema\Table$table Table instance
Returns
arrayindexSql() ¶ public
indexSql(Cake\Database\Schema\Table $table, string $name): string
Generate the SQL fragment for a single index in a table.
Parameters
-
Cake\Database\Schema\Table$table -
string$name
Returns
stringlistTablesSql() ¶ public
listTablesSql(array $config): array
Generate the SQL to list the tables.
Parameters
-
array$config
Returns
arraytruncateTableSql() ¶ public
truncateTableSql(Cake\Database\Schema\Table $table): array
Generate the SQL to truncate a table.
Parameters
-
Cake\Database\Schema\Table$table
Returns
array