CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • BaseSchema
  • CachedCollection
  • Collection
  • MysqlSchema
  • PostgresSchema
  • SqliteSchema
  • SqlserverSchema
  • TableSchema

Interfaces

  • SqlGeneratorInterface
  • TableSchemaAwareInterface
  • TableSchemaInterface

Class SqliteSchema

Schema management/reflection features for Sqlite

Cake\Database\Schema\BaseSchema
Extended by Cake\Database\Schema\SqliteSchema
Namespace: Cake\Database\Schema
Location: Database/Schema/SqliteSchema.php

Properties summary

  • $_constraintsIdMap protected
    array

    Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled

  • $_hasSequences protected
    boolean
    Whether there is any table in this connection to SQLite containing sequences.

Inherited Properties

  • _driver

Method Summary

  • _convertColumn() protected
    Convert a column definition to the abstract types.
  • _defaultValue() protected
    Manipulate the default value.
  • 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.
  • 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.
  • 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

  • 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 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
array
Array of column information.
Throws
Cake\Database\Exception
when unable to parse column type

_defaultValue() 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|null

addConstraintSql() 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
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.

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
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.

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() 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
array
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.

dropConstraintSql() 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
array
SQL fragment.

hasSequences() public ¶

hasSequences( )

Returns whether there is any table in this connection to SQLite containing sequences

Returns
boolean

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.

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
string

_convertOnClause() protected ¶

_convertOnClause( string $clause )

Convert string on clauses to the abstract ones.

Parameters
string $clause
The on clause to convert.
Returns
string|null

_foreignOnClause() protected ¶

_foreignOnClause( string|null $on )

Generate an ON clause for a foreign key.

Parameters
string|null $on
The on clause
Returns
string

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.

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.

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.

Properties detail

$_constraintsIdMap ¶

protected array

Array containing the foreign keys constraints names Necessary for composite foreign keys to be handled

[]

$_hasSequences ¶

protected boolean

Whether there is any table in this connection to SQLite containing sequences.

Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs