Class MysqlSchema
Schema generation/reflection features for MySQL
- Cake\Database\Schema\BaseSchema
- Cake\Database\Schema\MysqlSchema
Properties summary
-
$_driver
protectedThe driver instance being used.
Method Summary
-
_convertColumn() protected
Convert a MySQL column type into an abstract type. -
_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 -
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
_convertColumn() protected ¶
_convertColumn( string $column )
Convert a MySQL column type into an abstract type.
The returned type will be a type that Cake\Database\Type can handle.
Parameters
- string $column
- The column type + length
Returns
Array of column information.
Throws
_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
addConstraintSql() 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
SQL 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
SQL 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
SQL 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.
Overrides
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.
- array $columns
- The columns to go inside the table.
- array $constraints
- The constraints for the table.
- array $indexes
- The indexes for the table.
Returns
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
An 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
An 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
An 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
SQL statements to get options for a table.
Overrides
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
SQL fragment.
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
SQL 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
An 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
SQL statements to truncate a table.
Methods inherited from Cake\Database\Schema\BaseSchema
__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.
_convertConstraintColumns() protected ¶
_convertConstraintColumns( string|array $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
_convertOnClause() protected ¶
_convertOnClause( string $clause )
Convert string on clauses to the abstract ones.
Parameters
- string $clause
- The on clause to convert.
Returns
_foreignOnClause() protected ¶
_foreignOnClause( string|null $on )
Generate an ON clause for a foreign key.
Parameters
- string|null $on
- The on clause
Returns
dropTableSql() public ¶
dropTableSql( Cake\Database\Schema\TableSchema
$schema )
Generate the SQL to drop a table.
Parameters
-
Cake\Database\Schema\TableSchema
$schema - Schema instance
Returns
SQL statements to drop a table.