On this page
Class PostgresSchemaDialect
Schema management/reflection features for Postgres.
Property Summary
-
$_driver protected
Cake\Database\DriverInterfaceThe driver instance being used.
Method Summary
__construct() public
Constructor
_applyTypeSpecificColumnConversion() protected
Tries to use a matching database type to convert a SQL column definition to an abstract type definition.
_convertColumn() protected
Convert a column definition to the abstract types.
_convertConstraint() protected
Add/update a constraint into the schema object.
_convertConstraintColumns() protected
Convert foreign key constraints references to a valid stringified list
_convertOnClause() protected
Convert string on clauses to the abstract ones.
_defaultValue() protected
Manipulate the default value.
_foreignOnClause() protected
Generate an ON clause for a foreign key.
_getTypeSpecificColumnSql() protected
Tries to use a matching database type to generate the SQL fragment for a single column in a table.
_keySql() protected
Helper method for generating key SQL snippets.
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.
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
dropConstraintSql() public
Generate the SQL queries needed to drop foreign key constraints from the table
dropTableSql() public
Generate the SQL to drop a table.
indexSql() public
Generate the SQL fragment for a single index in a table.
listTablesSql() public
Generate the SQL to list the tables and views.
listTablesWithoutViewsSql() public
Generate the SQL to list the tables, excluding all views.
truncateTableSql() public
Generate the SQL to truncate a table.
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.
_applyTypeSpecificColumnConversion() protected
_applyTypeSpecificColumnConversion(string $columnType, array $definition): array|null
Tries to use a matching database type to convert a SQL column definition to an abstract type definition.
Parameters
string$columnType-
The column type.
array$definition-
The column definition.
Returns
array|null_convertColumn() protected
_convertColumn(string $column): array<string, mixed>
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<string, mixed>Throws
Cake\Database\Exception\DatabaseExceptionwhen column cannot be parsed.
_convertConstraint() protected
_convertConstraint(Cake\Database\Schema\TableSchema $schema, string $name, string $type, array $row): void
Add/update a constraint into the schema object.
Parameters
Cake\Database\Schema\TableSchema$schema-
The table to update.
string$name-
The index name.
string$type-
The index type.
array$row-
The metadata record to update with.
Returns
void_convertConstraintColumns() protected
_convertConstraintColumns(array<string>|string $references): string
Convert foreign key constraints references to a valid stringified list
Parameters
array<string>|string$references-
The referenced columns of a foreign key constraint statement
Returns
string_convertOnClause() protected
_convertOnClause(string $clause): string
Convert string on clauses to the abstract ones.
Parameters
string$clause
Returns
string_defaultValue() protected
_defaultValue(string|int|null $default): string|int|null
Manipulate the default value.
Postgres includes sequence data and casting information 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): string
Generate an ON clause for a foreign key.
Parameters
string$on-
The on clause
Returns
string_getTypeSpecificColumnSql() protected
_getTypeSpecificColumnSql(string $columnType, Cake\Database\Schema\TableSchemaInterface $schema, string $column): string|null
Tries to use a matching database type to generate the SQL fragment for a single column in a table.
Parameters
string$columnType-
The column type.
Cake\Database\Schema\TableSchemaInterface$schema-
The table schema instance the column is in.
string$column-
The name of the column.
Returns
string|null_keySql() protected
_keySql(string $prefix, array<string, mixed> $data): string
Helper method for generating key SQL snippets.
Parameters
string$prefix-
The key prefix
array<string, mixed>$data-
Key data.
Returns
stringaddConstraintSql() public
addConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL queries needed to add foreign key constraints to the table
Parameters
Cake\Database\Schema\TableSchema$schema
Returns
arraycolumnSql() public
columnSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragment for a single column in a table.
Parameters
Cake\Database\Schema\TableSchema$schemastring$name
Returns
stringconstraintSql() public
constraintSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragments for defining table constraints.
Parameters
Cake\Database\Schema\TableSchema$schemastring$name
Returns
stringconvertColumnDescription() public
convertColumnDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert field description results into abstract schema fields.
Parameters
Cake\Database\Schema\TableSchema$schemaarray$row
Returns
voidconvertForeignKeyDescription() public
convertForeignKeyDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert a foreign key description into constraints on the Table object.
Parameters
Cake\Database\Schema\TableSchema$schemaarray$row
Returns
voidconvertIndexDescription() public
convertIndexDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert an index description results into abstract schema indexes or constraints.
Parameters
Cake\Database\Schema\TableSchema$schemaarray$row
Returns
voidconvertOptionsDescription() public
convertOptionsDescription(Cake\Database\Schema\TableSchema $schema, array $row): void
Convert options data into table options.
Parameters
Cake\Database\Schema\TableSchema$schema-
Table instance.
array$row-
The row of data.
Returns
voidcreateTableSql() public
createTableSql(Cake\Database\Schema\TableSchema $schema, array<string> $columns, array<string> $constraints, array<string> $indexes): array<string>
Generate the SQL to create a table.
Parameters
Cake\Database\Schema\TableSchema$schemaarray<string>$columnsarray<string>$constraintsarray<string>$indexes
Returns
array<string>describeColumnSql() public
describeColumnSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe a table.
Parameters
string$tableNamearray<string, mixed>$config
Returns
arraydescribeForeignKeySql() public
describeForeignKeySql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe the foreign keys in a table.
Parameters
string$tableNamearray<string, mixed>$config
Returns
arraydescribeIndexSql() public
describeIndexSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe the indexes in a table.
Parameters
string$tableNamearray<string, mixed>$config
Returns
arraydescribeOptionsSql() public
describeOptionsSql(string $tableName, array<string, mixed> $config): array
Generate the SQL to describe table options
Parameters
string$tableName-
Table name.
array<string, mixed>$config-
The connection configuration.
Returns
arraydropConstraintSql() public
dropConstraintSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL queries needed to drop foreign key constraints from the table
Parameters
Cake\Database\Schema\TableSchema$schema
Returns
arraydropTableSql() public
dropTableSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL to drop a table.
Parameters
Cake\Database\Schema\TableSchema$schema-
Table instance
Returns
arrayindexSql() public
indexSql(Cake\Database\Schema\TableSchema $schema, string $name): string
Generate the SQL fragment for a single index in a table.
Parameters
Cake\Database\Schema\TableSchema$schemastring$name
Returns
stringlistTablesSql() public
listTablesSql(array<string, mixed> $config): array
Generate the SQL to list the tables and views.
Parameters
array<string, mixed>$config-
The connection configuration to use for getting tables from.
Returns
arraylistTablesWithoutViewsSql() public
listTablesWithoutViewsSql(array<string, mixed> $config): array<mixed>
Generate the SQL to list the tables, excluding all views.
Parameters
array<string, mixed>$config-
The connection configuration to use for getting tables from.
Returns
array<mixed>truncateTableSql() public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
Generate the SQL to truncate a table.
Parameters
Cake\Database\Schema\TableSchema$schema
Returns
arrayProperty Detail
$_driver protected
The driver instance being used.
Type
Cake\Database\DriverInterface© 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.4/class-Cake.Database.Schema.PostgresSchemaDialect.html