CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.0 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.0
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 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

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Console
    • Controller
    • Core
    • Database
      • Dialect
      • Driver
      • Exception
      • Expression
      • Log
      • Schema
      • Statement
      • Type
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • I18n
    • Log
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class SqliteSchema

Schema management/reflection features for Sqlite

Namespace: Cake\Database\Schema

Property Summary

  • $_constraintsIdMap protected
    array

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

  • $_driver protected
    Cake\Database\Driver

    The driver instance being used.

Method Summary

  • __construct() public

    Constructor

  • _convertColumn() protected

    Convert a column definition to the abstract types.

  • _convertConstraintColumns() protected

    Convert foreign key constraints references to a valid stringified list

  • _convertOnClause() protected

    Convert string on clauses to the abstract ones.

  • _foreignOnClause() protected

    Generate an ON clause for a foreign key.

  • 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

  • dropTableSql() public

    Generate the SQL to drop a 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

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

_convertColumn() ¶ protected

_convertColumn(string $column): array

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
Throws
Cake\Database\Exception
when unable to parse column type

_convertConstraintColumns() ¶ protected

_convertConstraintColumns(string|array $references): string

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): string|null

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): string

Generate an ON clause for a foreign key.

Parameters
string|null $on

The on clause

Returns
string

columnSql() ¶ public

columnSql(Cake\Database\Schema\Table $table, string $name): string

Generate the SQL fragment for a single column in a table.

Parameters
Cake\Database\Schema\Table $table
string $name
Returns
string
Throws
Cake\Database\Exception
when the column type is unknown

constraintSql() ¶ public

constraintSql(Cake\Database\Schema\Table $table, string $name): string

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\Table $table
string $name
Returns
string

convertColumnDescription() ¶ public

convertColumnDescription(Cake\Database\Schema\Table $table, array $row): void

Convert field description results into abstract schema fields.

Parameters
Cake\Database\Schema\Table $table
array $row
Returns
void

convertForeignKeyDescription() ¶ public

convertForeignKeyDescription(Cake\Database\Schema\Table $table, array $row): void

Convert a foreign key description into constraints on the Table object.

Parameters
Cake\Database\Schema\Table $table
array $row
Returns
void

convertIndexDescription() ¶ public

convertIndexDescription(Cake\Database\Schema\Table $table, array $row): void

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\Table $table
array $row
Returns
void

convertOptionsDescription() ¶ public

convertOptionsDescription(Cake\Database\Schema\Table $table, array $row): void

Convert options data into table options.

Parameters
Cake\Database\Schema\Table $table

Table instance.

array $row

The row of data.

Returns
void

createTableSql() ¶ public

createTableSql(Cake\Database\Schema\Table $table, array $columns, array $constraints, array $indexes): array

Generate the SQL to create a table.

Parameters
Cake\Database\Schema\Table $table
array $columns
array $constraints
array $indexes
Returns
array

describeColumnSql() ¶ public

describeColumnSql(string $tableName, array $config): array

Generate the SQL to describe a table.

Parameters
string $tableName
array $config
Returns
array

describeForeignKeySql() ¶ public

describeForeignKeySql(string $tableName, array $config): array

Generate the SQL to describe the foreign keys in a table.

Parameters
string $tableName
array $config
Returns
array

describeIndexSql() ¶ public

describeIndexSql(string $tableName, array $config): array

Generate the SQL to describe the indexes in a table.

Parameters
string $tableName
array $config
Returns
array

describeOptionsSql() ¶ public

describeOptionsSql(string $tableName, array $config): array

Generate the SQL to describe table options

Parameters
string $tableName

Table name.

array $config

The connection configuration.

Returns
array

dropTableSql() ¶ public

dropTableSql(Cake\Database\Schema\Table $table): array

Generate the SQL to drop a table.

Parameters
Cake\Database\Schema\Table $table

Table instance

Returns
array

hasSequences() ¶ public

hasSequences(): bool

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

Returns
bool

indexSql() ¶ public

indexSql(Cake\Database\Schema\Table $table, string $name): string

Generate the SQL fragment for a single index in a table.

Parameters
Cake\Database\Schema\Table $table
string $name
Returns
string

listTablesSql() ¶ public

listTablesSql(array $config): array

Generate the SQL to list the tables.

Parameters
array $config
Returns
array

truncateTableSql() ¶ public

truncateTableSql(Cake\Database\Schema\Table $table): array

Generate the SQL to truncate a table.

Parameters
Cake\Database\Schema\Table $table
Returns
array

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\Driver
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs