On this page
Class MysqlSchemaDialect
Schema generation/reflection features for MySQL
Property Summary
-
$_driver protected
Cake\Database\Driver\Mysql
The driver instance being used.
Method Summary
__construct() public
Constructor
_applyTypeSpecificColumnConversion() protected
Tries to use a matching database type to convert a SQL column definition to an abstract type definition.
_convertColumn() protected
Convert a MySQL column type into an abstract type.
_convertConstraintColumns() protected
Convert foreign key constraints references to a valid stringified list
_convertOnClause() protected
Convert string on clauses to the abstract ones.
_foreignOnClause() protected
Generate an ON clause for a foreign key.
_getTypeSpecificColumnSql() protected
Tries to use a matching database type to generate the SQL fragment for a single column in a table.
_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 and views.
listTablesWithoutViewsSql() public
Generate the SQL to list the tables, excluding all views.
truncateTableSql() public
Generate the SQL to truncate a 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.
_applyTypeSpecificColumnConversion() protected
_applyTypeSpecificColumnConversion(string $columnType, array $definition): array|null
Tries to use a matching database type to convert a SQL column definition to an abstract type definition.
Parameters
string
$columnType-
The column type.
array
$definition-
The column definition.
Returns
array|null
_convertColumn() protected
_convertColumn(string $column): array<string, mixed>
Convert a MySQL column type into an abstract type.
The returned type will be a type that Cake\Database\TypeFactory can handle.
Parameters
string
$column-
The column type + length
Returns
array<string, mixed>
Throws
Cake\Database\Exception\DatabaseException
When column type cannot be parsed.
_convertConstraintColumns() protected
_convertConstraintColumns(array<string>|string $references): string
Convert foreign key constraints references to a valid stringified list
Parameters
array<string>|string
$references-
The referenced columns of a foreign key constraint statement
Returns
string
_convertOnClause() protected
_convertOnClause(string $clause): string
Convert string on clauses to the abstract ones.
Parameters
string
$clause-
The on clause to convert.
Returns
string
_foreignOnClause() protected
_foreignOnClause(string $on): string
Generate an ON clause for a foreign key.
Parameters
string
$on-
The on clause
Returns
string
_getTypeSpecificColumnSql() protected
_getTypeSpecificColumnSql(string $columnType, Cake\Database\Schema\TableSchemaInterface $schema, string $column): string|null
Tries to use a matching database type to generate the SQL fragment for a single column in a table.
Parameters
string
$columnType-
The column type.
Cake\Database\Schema\TableSchemaInterface
$schema-
The table schema instance the column is in.
string
$column-
The name of the column.
Returns
string|null
_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
string
addConstraintSql() public
addConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL queries needed to add foreign key constraints to the table
Parameters
Cake\Database\Schema\TableSchema
$schema
Returns
array
columnSql() public
columnSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragment for a single column in a table.
Parameters
Cake\Database\Schema\TableSchema
$schemastring
$name
Returns
string
constraintSql() public
constraintSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragments for defining table constraints.
Parameters
Cake\Database\Schema\TableSchema
$schemastring
$name
Returns
string
convertColumnDescription() public
convertColumnDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert field description results into abstract schema fields.
Parameters
Cake\Database\Schema\TableSchema
$schemaarray
$row
Returns
void
convertForeignKeyDescription() public
convertForeignKeyDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert a foreign key description into constraints on the Table object.
Parameters
Cake\Database\Schema\TableSchema
$schemaarray
$row
Returns
void
convertIndexDescription() public
convertIndexDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert an index description results into abstract schema indexes or constraints.
Parameters
Cake\Database\Schema\TableSchema
$schemaarray
$row
Returns
void
convertOptionsDescription() public
convertOptionsDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert options data into table options.
Parameters
Cake\Database\Schema\TableSchema
$schemaarray
$row
Returns
void
createTableSql() public
createTableSql(Cake\Database\Schema\TableSchema $schema, array<string> $columns, array<string> $constraints, array<string> $indexes): array<string>
Generate the SQL to create a table.
Parameters
Cake\Database\Schema\TableSchema
$schemaarray<string>
$columnsarray<string>
$constraintsarray<string>
$indexes
Returns
array<string>
describeColumnSql() public
describeColumnSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe a table.
Parameters
string
$tableNamearray<string, mixed>
$config
Returns
array
describeForeignKeySql() public
describeForeignKeySql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe the foreign keys in a table.
Parameters
string
$tableNamearray<string, mixed>
$config
Returns
array
describeIndexSql() public
describeIndexSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe the indexes in a table.
Parameters
string
$tableNamearray<string, mixed>
$config
Returns
array
describeOptionsSql() public
describeOptionsSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe table options
Parameters
string
$tableNamearray<string, mixed>
$config
Returns
array
dropConstraintSql() public
dropConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL queries needed to drop foreign key constraints from the table
Parameters
Cake\Database\Schema\TableSchema
$schema
Returns
array
dropTableSql() public
dropTableSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL to drop a table.
Parameters
Cake\Database\Schema\TableSchema
$schema-
Schema instance
Returns
array
indexSql() public
indexSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragment for a single index in a table.
Parameters
Cake\Database\Schema\TableSchema
$schemastring
$name
Returns
string
listTablesSql() public
listTablesSql(array<string, mixed> $config): array<mixed>
Generate the SQL to list the tables and views.
Parameters
array<string, mixed>
$config-
The connection configuration to use for getting tables from.
Returns
array<mixed>
listTablesWithoutViewsSql() public
listTablesWithoutViewsSql(array<string, mixed> $config): array<mixed>
Generate the SQL to list the tables, excluding all views.
Parameters
array<string, mixed>
$config-
The connection configuration to use for getting tables from.
Returns
array<mixed>
truncateTableSql() public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL to truncate a table.
Parameters
Cake\Database\Schema\TableSchema
$schema
Returns
array
Property Detail
$_driver protected
The driver instance being used.
Type
Cake\Database\Driver\Mysql
© 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.4/class-Cake.Database.Schema.MysqlSchemaDialect.html