On this page
Class BaseSchema
Base class for schema implementations.
This class contains methods that are common across the various SQL dialects.
Direct Subclasses
- Cake\Database\Schema\MysqlSchema
 - Cake\Database\Schema\PostgresSchema
 - Cake\Database\Schema\SqliteSchema
 - Cake\Database\Schema\SqlserverSchema
 
Properties summary
- 
    The driver instance being used.
$_driverprotected 
Method Summary
- 
    __construct() publicConstructor
 - 
    _convertConstraintColumns() protected
Convert foreign key constraints references to a valid stringified list
 - 
    _convertOnClause() protectedConvert string on clauses to the abstract ones.
 - 
    _foreignOnClause() protectedGenerate an ON clause for a foreign key.
 - Generate the SQL queries needed to add foreign key constraints to the table
 - Generate the SQL fragment for a single column in a table.
 - Generate the SQL fragments for defining table constraints.
 - Convert field description results into abstract schema fields.
 - Convert a foreign key description into constraints on the Table object.
 - Convert an index description results into abstract schema indexes or constraints.
 - 
    convertOptionsDescription() publicConvert options data into table options.
 - Generate the SQL to create a table.
 - Generate the SQL to describe a table.
 - Generate the SQL to describe the foreign keys in a table.
 - Generate the SQL to describe the indexes in a table.
 - 
    describeOptionsSql() publicGenerate the SQL to describe table options
 - Generate the SQL queries needed to drop foreign key constraints from the table
 - 
    dropTableSql() publicGenerate the SQL to drop a table.
 - Generate the SQL fragment for a single index in a table.
 - Generate the SQL to list the tables.
 - Generate the SQL to truncate a table.
 
Method Detail
__construct()source 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()source 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
string_convertOnClause()source protected
_convertOnClause( string $clause )
   Convert string on clauses to the abstract ones.
Parameters
- 
     string 
$clause - The on clause to convert.
 
Returns
string|null_foreignOnClause()source protected
_foreignOnClause( string|null $on )
   Generate an ON clause for a foreign key.
Parameters
- 
     string|null 
$on - The on clause
 
Returns
stringaddConstraintSql()source abstract public
addConstraintSql( Cake\Database\Schema\Table $table )
   Generate the SQL queries needed to add foreign key constraints to the table
Parameters
Cake\Database\Schema\Table$table- The table instance the foreign key constraints are.
 
Returns
arraySQL fragment.
columnSql()source abstract public
columnSql( Cake\Database\Schema\Table $table , string $name )
   Generate the SQL fragment for a single column in a table.
Parameters
Cake\Database\Schema\Table$table- The table instance the column is in.
 - 
     string 
$name - The name of the column.
 
Returns
stringSQL fragment.
constraintSql()source abstract public
constraintSql( Cake\Database\Schema\Table $table , string $name )
   Generate the SQL fragments for defining table constraints.
Parameters
Cake\Database\Schema\Table$table- The table instance the column is in.
 - 
     string 
$name - The name of the column.
 
Returns
stringSQL fragment.
convertColumnDescription()source abstract public
convertColumnDescription( Cake\Database\Schema\Table $table , array $row )
   Convert field description results into abstract schema fields.
Parameters
Cake\Database\Schema\Table$table- The table object to append fields to.
 - 
     array 
$row - 
     The row data from 
describeColumnSql. 
convertForeignKeyDescription()source abstract public
convertForeignKeyDescription( Cake\Database\Schema\Table $table , array $row )
   Convert a foreign key description into constraints on the Table object.
Parameters
Cake\Database\Schema\Table$table- 
     
The table object to append a constraint to.
 - 
     array 
$row - 
     The row data from 
describeForeignKeySql. 
convertIndexDescription()source abstract public
convertIndexDescription( Cake\Database\Schema\Table $table , array $row )
   Convert an index description results into abstract schema indexes or constraints.
Parameters
Cake\Database\Schema\Table$table- 
     
The table object to append an index or constraint to.
 - 
     array 
$row - 
     The row data from 
describeIndexSql. 
convertOptionsDescription()source public
convertOptionsDescription( Cake\Database\Schema\Table $table , array $row )
   Convert options data into table options.
Parameters
Cake\Database\Schema\Table$table- Table instance.
 - 
     array 
$row - The row of data.
 
createTableSql()source abstract public
createTableSql( Cake\Database\Schema\Table $table , array $columns , array $constraints , array $indexes )
   Generate the SQL to create a table.
Parameters
Cake\Database\Schema\Table$table- 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
arraySQL statements to create a table.
describeColumnSql()source abstract 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()source abstract 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()source abstract 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()source 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()source abstract public
dropConstraintSql( Cake\Database\Schema\Table $table )
   Generate the SQL queries needed to drop foreign key constraints from the table
Parameters
Cake\Database\Schema\Table$table- The table instance the foreign key constraints are.
 
Returns
arraySQL fragment.
dropTableSql()source public
dropTableSql( Cake\Database\Schema\Table $table )
   Generate the SQL to drop a table.
Parameters
Cake\Database\Schema\Table$table- Table instance
 
Returns
arraySQL statements to drop a table.
indexSql()source abstract public
indexSql( Cake\Database\Schema\Table $table , string $name )
   Generate the SQL fragment for a single index in a table.
Parameters
Cake\Database\Schema\Table$table- The table object the column is in.
 - 
     string 
$name - The name of the column.
 
Returns
stringSQL fragment.
listTablesSql()source abstract 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()source abstract public
truncateTableSql( Cake\Database\Schema\Table $table )
   Generate the SQL to truncate a table.
Parameters
Cake\Database\Schema\Table$table- Table instance.
 
Returns
arraySQL statements to truncate a table.
Properties detail
© 2005–2017 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/3.3/class-Cake.Database.Schema.BaseSchema.html