Class PostgresSchema

Schema management/reflection features for Postgres.

Cake\Database\Schema\BaseSchema
Extended by Cake\Database\Schema\PostgresSchema

Method Detail

_convertColumnsource 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 column cannot be parsed.

_convertConstraintsource protected

_convertConstraint( Cake\Database\Schema\Table $table , string $name , string $type , array $row )

Add/update a constraint into the schema object.

Parameters

Cake\Database\Schema\Table $table
The table to update.
string $name
The index name.
string $type
The index type.
array $row
The metadata record to update with.

_convertOnClausesource protected

_convertOnClause( string $clause )

Convert string on clauses to the abstract ones.

Parameters

string $clause
The on clause to convert.

Returns

string|null
string|null

Overrides

Cake\Database\Schema\BaseSchema::_convertOnClause()

_defaultValuesource protected

_defaultValue( string|null $default )

Manipulate the default value.

Postgres includes sequence data and casting information in default values. We need to remove those.

Parameters

string|null $default
The default value.

Returns

string|null
string|null

_keySqlsource protected

_keySql( string $prefix , array $data )

Helper method for generating key SQL snippets.

Parameters

string $prefix
The key prefix
array $data
Key data.

Returns

string
string

addConstraintSqlsource 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

array
SQL fragment.

columnSqlsource 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

string
SQL fragment.

constraintSqlsource 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

string
SQL fragment.

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

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

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

createTableSqlsource 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

array
SQL statements to create a table.

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

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

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

dropConstraintSqlsource 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

array
SQL fragment.

dropTableSqlsource public

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

Generate the SQL to drop a table.

Parameters

Cake\Database\Schema\Table $table
Table instance

Returns

array
SQL statements to drop a table.

Overrides

Cake\Database\Schema\BaseSchema::dropTableSql()

indexSqlsource 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

string
SQL fragment.

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

truncateTableSqlsource public

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

Generate the SQL to truncate a table.

Parameters

Cake\Database\Schema\Table $table
Table instance.

Returns

array
SQL statements to truncate a table.

Methods inherited from Cake\Database\Schema\BaseSchema

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

_convertConstraintColumnssource 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
string

_foreignOnClausesource protected

_foreignOnClause( string|null $on )

Generate an ON clause for a foreign key.

Parameters

string|null $on
The on clause

Returns

string
string

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

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

Properties inherited from Cake\Database\Schema\BaseSchema

$_driversource

protected Cake\Database\Driver

The driver instance being used.

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Database.Schema.PostgresSchema.html