Class SqliteSchemaDialect
Schema management/reflection features for Sqlite
Properties summary
- $_constraintsIdMap protected
array
Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled
- $_driver protected
\Cake\Database\DriverInterface
The driver instance being used.
- $_hasSequences protected
bool
Whether there is any table in this connection to SQLite containing sequences.
Method Summary
- _convertConstraintColumns() protected
Convert foreign key constraints references to a valid stringified list
- addConstraintSql() public
Generate the SQL queries needed to add foreign key constraints to the table
- 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.
- dropConstraintSql() public
Generate 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
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.
_convertColumn() protected
_convertColumn(string $column)
Convert a column definition to the abstract types.
The returned type will be a type that Cake\Database\TypeFactory can handle.
Parameters
-
string
$column The column type + length
Returns
array
Array of column information.
Throws
Cake\Database\Exception
when unable to parse column type
_convertConstraintColumns() protected
_convertConstraintColumns(mixed $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() protected
_convertOnClause(string $clause)
Convert string on clauses to the abstract ones.
Parameters
-
string
$clause The on clause to convert.
Returns
string
_defaultValue() protected
_defaultValue(mixed $default)
Manipulate the default value.
Sqlite includes quotes and bared NULLs in default values. We need to remove those.
Parameters
-
string|int|null
$default The default value.
Returns
string|int|null
_foreignOnClause() protected
_foreignOnClause(string $on)
Generate an ON clause for a foreign key.
Parameters
-
string
$on The on clause
Returns
string
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
array
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
string
SQL fragment.
Throws
Cake\Database\Exception
when the column type is unknown
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
string
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.
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.
-
string[]
$columns The columns to go inside the table.
-
string[]
$constraints The constraints for the table.
-
string[]
$indexes The indexes for the table.
Returns
string[]
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
array
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
array
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
array
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
array
SQL statements to get options for a table.
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
array
SQL fragment.
dropTableSql() public
dropTableSql(\Cake\Database\Schema\TableSchema $schema)
Generate the SQL to drop a table.
Parameters
-
\Cake\Database\Schema\TableSchema
$schema Schema instance
Returns
array
SQL statements to drop a table.
hasSequences() public
hasSequences()
Returns whether there is any table in this connection to SQLite containing sequences
Returns
bool
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
string
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
array
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
array
SQL statements to truncate a table.
Property Detail
$_constraintsIdMap protected
Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled
Type
array
$_driver protected
The driver instance being used.
Type
\Cake\Database\DriverInterface
$_hasSequences protected
Whether there is any table in this connection to SQLite containing sequences.
Type
bool
© 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.1/class-Cake.Database.Schema.SqliteSchemaDialect.html