SqliteSchema (class)
Class SqliteSchema
Schema management/reflection features for Sqlite
- Cake\Database\Schema\BaseSchema
-
Cake\Database\Schema\SqliteSchema
Properties summary
-
$_constraintsIdMap
protectedarray
Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled
-
$_hasSequences
protectedWhether there is any table in this connection to SQLite containing sequences.boolean
Inherited Properties
Method Summary
- _convertColumn() protectedConvert a column definition to the abstract types.
- _defaultValue() protectedManipulate the default value.
- addConstraintSql() publicGenerate the SQL queries needed to add foreign key constraints to the table
- columnSql() publicGenerate the SQL fragment for a single column in a table.
- constraintSql() publicGenerate the SQL fragments for defining table constraints.
- convertColumnDescription() publicConvert field description results into abstract schema fields.
- Convert a foreign key description into constraints on the Table object.
- convertIndexDescription() publicConvert an index description results into abstract schema indexes or constraints.
- createTableSql() publicGenerate the SQL to create a table.
- describeColumnSql() publicGenerate the SQL to describe a table.
- describeForeignKeySql() publicGenerate the SQL to describe the foreign keys in a table.
- describeIndexSql() publicGenerate the SQL to describe the indexes in a table.
- dropConstraintSql() publicGenerate the SQL queries needed to drop foreign key constraints from the table
- hasSequences() public
Returns whether there is any table in this connection to SQLite containing sequences
- indexSql() publicGenerate the SQL fragment for a single index in a table.
- listTablesSql() publicGenerate the SQL to list the tables.
- truncateTableSql() publicGenerate the SQL to truncate a table.
Method Detail
_convertColumn()source protected
_convertColumn( string $column )
Convert a column definition to the abstract types.
The returned type will be a type that Cake\Database\Type can handle.
Parameters
- string
$column
- The column type + length
Returns
arrayArray of column information.
Throws
Cake\Database\Exception
when unable to parse column type
_defaultValue()source protected
_defaultValue( string|null $default )
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|nulladdConstraintSql()source public
addConstraintSql( Cake\Database\Schema\TableSchema $schema )
Generate the SQL queries needed to add foreign key constraints to the table
SQLite can not properly handle adding a constraint to an existing table. This method is no-op
Parameters
-
Cake\Database\Schema\TableSchema
$schema
- The table instance the foreign key constraints are.
Returns
arraySQL fragment.
columnSql()source 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
stringSQL fragment.
Throws
Cake\Database\Exception
when the column type is unknown
constraintSql()source public
constraintSql( Cake\Database\Schema\TableSchema $schema , string $name )
Generate the SQL fragments for defining table constraints.
Note integer primary keys will return ''. This is intentional as Sqlite requires that integer primary keys be defined in the column definition.
Parameters
-
Cake\Database\Schema\TableSchema
$schema
- The table instance the column is in.
- string
$name
- The name of the column.
Returns
stringSQL fragment.
convertColumnDescription()source 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()source 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()source public
convertIndexDescription( Cake\Database\Schema\TableSchema $schema , array $row )
Convert an index description results into abstract schema indexes or constraints.
Since SQLite does not have a way to get metadata about all indexes at once, additional queries are done here. Sqlite constraint names are not stable, and the names for constraints will not match those used to create the table. This is a limitation in Sqlite's metadata features.
Parameters
-
Cake\Database\Schema\TableSchema
$schema
The table object to append an index or constraint to.
- array
$row
- The row data from
describeIndexSql
.
createTableSql()source 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
arraySQL statements to create a table.
describeColumnSql()source 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 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 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.
dropConstraintSql()source public
dropConstraintSql( Cake\Database\Schema\TableSchema $schema )
Generate the SQL queries needed to drop foreign key constraints from the table
SQLite can not properly handle dropping a constraint to an existing table. This method is no-op
Parameters
-
Cake\Database\Schema\TableSchema
$schema
- The table instance the foreign key constraints are.
Returns
arraySQL fragment.
hasSequences()source public
hasSequences( )
Returns whether there is any table in this connection to SQLite containing sequences
Returns
booleanindexSql()source 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
stringSQL fragment.
listTablesSql()source 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 public
truncateTableSql( Cake\Database\Schema\TableSchema $schema )
Generate the SQL to truncate a table.
Parameters
-
Cake\Database\Schema\TableSchema
$schema
- Table instance.
Returns
arraySQL statements to truncate a table.
Methods inherited from Cake\Database\Schema\BaseSchema
__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
stringconvertOptionsDescription()source 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.
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.
dropTableSql()source public
dropTableSql( Cake\Database\Schema\TableSchema $schema )
Generate the SQL to drop a table.
Parameters
-
Cake\Database\Schema\TableSchema
$schema
- Schema instance
Returns
arraySQL statements to drop a table.
Properties detail
$_constraintsIdMapsource
protected array
Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled
[]
$_hasSequencessource
protected boolean
Whether there is any table in this connection to SQLite containing sequences.
© 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.4/class-Cake.Database.Schema.SqliteSchema.html