类 SqlserverSchemaDialect
SQLServer 的架构管理/反射功能。
常量
-
字符串
DEFAULT_SCHEMA_NAME ¶'dbo'
属性摘要
-
$_driver 受保护
Cake\Database\Driver
正在使用的驱动程序实例。
方法摘要
-
__construct() 公开
构造函数
-
_applyTypeSpecificColumnConversion() 受保护
尝试使用匹配的数据库类型将 SQL 列定义转换为抽象类型定义。
-
_convertColumn() 受保护
将列定义转换为抽象类型。
-
_convertConstraintColumns() 受保护
将外键约束引用转换为有效的字符串化列表
-
_convertOnClause() 受保护
将字符串 ON 子句转换为抽象 ON 子句。
-
_defaultValue() 受保护
操作默认值。
-
_foreignOnClause() 受保护
为外键生成 ON 子句。
-
_getTypeSpecificColumnSql() 受保护
尝试使用匹配的数据库类型为表中的单个列生成 SQL 片段。
-
_keySql() 受保护
用于生成键 SQL 片段的辅助方法。
-
addConstraintSql() 公开
生成将外键约束添加到表中所需的 SQL 查询
-
columnSql() 公开
为表中的单个列生成 SQL 片段。
-
constraintSql() 公开
生成用于定义表约束的 SQL 片段。
-
convertColumnDescription() 公开
将字段描述结果转换为抽象架构字段。
-
convertForeignKeyDescription() 公开
将外键描述转换为 Table 对象上的约束。
-
convertIndexDescription() 公开
将索引描述结果转换为抽象架构索引或约束。
-
convertOptionsDescription() 公开
将选项数据转换为表选项。
-
createTableSql() 公开
生成创建表的 SQL。
-
describeColumnSql() 公开
生成描述表的 SQL。
-
describeForeignKeySql() 公开
生成描述表中外键的 SQL。
-
describeIndexSql() 公开
生成描述表中索引的 SQL。
-
describeOptionsSql() 公开
生成描述表选项的 SQL
-
dropConstraintSql() 公开
生成从表中删除外键约束所需的 SQL 查询
-
dropTableSql() 公开
生成删除表的 SQL。
-
indexSql() 公开
为表中的单个索引生成 SQL 片段。
-
listTablesSql() 公开
生成列出表和视图的 SQL。
-
listTablesWithoutViewsSql() 公开
生成列出表(不包括所有视图)的 SQL。
-
truncateTableSql() 公开
生成截断表的 SQL。
方法详情
__construct() ¶ 公开
__construct(Cake\Database\Driver $driver)
构造函数
此构造函数将连接驱动程序,以便当驱动程序未连接时,诸如 columnSql() 之类的方法将失败。
参数
-
Cake\Database\Driver
$driver 要使用的驱动程序。
_applyTypeSpecificColumnConversion() ¶ 受保护
_applyTypeSpecificColumnConversion(string $columnType, array $definition): array|null
尝试使用匹配的数据库类型将 SQL 列定义转换为抽象类型定义。
参数
-
字符串
$columnType 列类型。
-
数组
$definition 列定义。
返回值
数组|null
_convertColumn() ¶ 受保护
_convertColumn(string $col, int|null $length = null, int|null $precision = null, int|null $scale = null): array<string, mixed>
将列定义转换为抽象类型。
返回的类型将是 Cake\Database\TypeFactory 可以处理的类型。
参数
-
字符串
$col 列类型
-
整数|null
$length 可选 列长度
-
整数|null
$precision 可选 列精度
-
整数|null
$scale 可选 列比例
返回值
数组<字符串, 混合>
链接
_convertConstraintColumns() ¶ 受保护
_convertConstraintColumns(list<string>|string $references): string
将外键约束引用转换为有效的字符串化列表
参数
-
列表<字符串>|字符串
$references 外键约束语句引用的列
返回值
字符串
_convertOnClause() ¶ 受保护
_convertOnClause(string $clause): string
将字符串 ON 子句转换为抽象 ON 子句。
参数
-
字符串
$clause
返回值
字符串
_defaultValue() ¶ 受保护
_defaultValue(string $type, string|null $default): string|int|null
操作默认值。
删除 () 包裹的默认值,从 N'' 包裹器中提取字符串和排序规则文本,并将 NULL 字符串转换为 NULL。
参数
-
字符串
$type 架构类型
-
字符串|null
$default 默认值。
返回值
字符串|整数|null
_getTypeSpecificColumnSql() ¶ 受保护
_getTypeSpecificColumnSql(string $columnType, Cake\Database\Schema\TableSchemaInterface $schema, string $column): string|null
尝试使用匹配的数据库类型为表中的单个列生成 SQL 片段。
参数
-
字符串
$columnType 列类型。
-
Cake\Database\Schema\TableSchemaInterface
$schema 列所在的表架构实例。
-
字符串
$column 列的名称。
返回值
字符串|null
_keySql() ¶ 受保护
_keySql(string $prefix, array $data): string
用于生成键 SQL 片段的辅助方法。
参数
-
字符串
$prefix 键前缀
-
数组
$data 键数据。
返回值
字符串
addConstraintSql() ¶ 公开
addConstraintSql(Cake\Database\Schema\TableSchema $schema): array
生成将外键约束添加到表中所需的 SQL 查询
参数
-
Cake\Database\Schema\TableSchema
$schema
返回值
数组
columnSql() ¶ 公开
columnSql(Cake\Database\Schema\TableSchema $schema, string $name): string
为表中的单个列生成 SQL 片段。
参数
-
Cake\Database\Schema\TableSchema
$schema -
字符串
$name
返回值
字符串
constraintSql() ¶ 公开
constraintSql(Cake\Database\Schema\TableSchema $schema, string $name): string
生成用于定义表约束的 SQL 片段。
参数
-
Cake\Database\Schema\TableSchema
$schema -
字符串
$name
返回值
字符串
convertColumnDescription() ¶ 公开
convertColumnDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
将字段描述结果转换为抽象架构字段。
参数
-
Cake\Database\Schema\TableSchema
$schema -
数组
$row
返回值
无效
convertForeignKeyDescription() ¶ 公开
convertForeignKeyDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
将外键描述转换为 Table 对象上的约束。
参数
-
Cake\Database\Schema\TableSchema
$schema -
数组
$row
返回值
无效
convertIndexDescription() ¶ 公开
convertIndexDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
将索引描述结果转换为抽象架构索引或约束。
参数
-
Cake\Database\Schema\TableSchema
$schema -
数组
$row
返回值
无效
convertOptionsDescription() ¶ 公开
convertOptionsDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
将选项数据转换为表选项。
参数
-
Cake\Database\Schema\TableSchema
$schema 表实例。
-
数组
$row 数据行。
返回值
无效
createTableSql() ¶ public
createTableSql(Cake\Database\Schema\TableSchema $schema, list<string> $columns, list<string> $constraints, list<string> $indexes): list<string>
生成创建表的 SQL。
参数
-
Cake\Database\Schema\TableSchema
$schema -
list<string>
$columns -
list<string>
$constraints -
list<string>
$indexes
返回值
list<string>
describeColumnSql() ¶ public
describeColumnSql(string $tableName, array<string, mixed> $config): array
生成描述表的 SQL。
参数
-
string
$tableName -
array<string, mixed>
$config
返回值
数组
describeForeignKeySql() ¶ public
describeForeignKeySql(string $tableName, array<string, mixed> $config): array
生成描述表中外键的 SQL。
参数
-
string
$tableName -
array<string, mixed>
$config
返回值
数组
describeIndexSql() ¶ public
describeIndexSql(string $tableName, array<string, mixed> $config): array
生成描述表中索引的 SQL。
参数
-
string
$tableName -
array<string, mixed>
$config
返回值
数组
describeOptionsSql() ¶ public
describeOptionsSql(string $tableName, array<string, mixed> $config): array
生成描述表选项的 SQL
参数
-
string
$tableName 表名。
-
array<string, mixed>
$config 连接配置。
返回值
数组
dropConstraintSql() ¶ public
dropConstraintSql(Cake\Database\Schema\TableSchema $schema): array
生成从表中删除外键约束所需的 SQL 查询
参数
-
Cake\Database\Schema\TableSchema
$schema
返回值
数组
dropTableSql() ¶ public
dropTableSql(Cake\Database\Schema\TableSchema $schema): array
生成删除表的 SQL。
参数
-
Cake\Database\Schema\TableSchema
$schema Schema 实例
返回值
数组
indexSql() ¶ public
indexSql(Cake\Database\Schema\TableSchema $schema, string $name): string
为表中的单个索引生成 SQL 片段。
参数
-
Cake\Database\Schema\TableSchema
$schema -
字符串
$name
返回值
字符串
listTablesSql() ¶ public
listTablesSql(array<string, mixed> $config): array
生成列出表和视图的 SQL。
参数
-
array<string, mixed>
$config 用于获取表格的连接配置。
返回值
数组
listTablesWithoutViewsSql() ¶ public
listTablesWithoutViewsSql(array<string, mixed> $config): array<mixed>
生成列出表(不包括所有视图)的 SQL。
参数
-
array<string, mixed>
$config 用于获取表格的连接配置。
返回值
array<mixed>
truncateTableSql() ¶ public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
生成截断表的 SQL。
参数
-
Cake\Database\Schema\TableSchema
$schema
返回值
数组