Class PostgresSchemaDialect
Schema management/reflection features for Postgres.
Property Summary
- 
        $_driver protected
Cake\Database\DriverInterfaceThe driver instance being used.
 
Method Summary
- 
          
__construct() public
Constructor
 - 
          
_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.
 - 
          
_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.
 - 
          
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.
_convertColumn() ¶ protected
_convertColumn(string $column): array
      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
arrayArray of column information.
Throws
Cake\Database\Exceptionwhen 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(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
      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_keySql() ¶ protected
_keySql(string $prefix, array $data): string
      Helper method for generating key SQL snippets.
Parameters
- 
                
string$prefix The key prefix
- 
                
array$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$schema - 
                
string$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$schema - 
                
string$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$schema - 
                
array$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$schema - 
                
array$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$schema - 
                
array$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, string[] $columns, string[] $constraints, string[] $indexes): string[]
      Generate the SQL to create a table.
Parameters
- 
                
Cake\Database\Schema\TableSchema$schema - 
                
string[]$columns - 
                
string[]$constraints - 
                
string[]$indexes 
Returns
string[]describeColumnSql() ¶ public
describeColumnSql(string $tableName, array $config): array
      Generate the SQL to describe a table.
Parameters
- 
                
string$tableName - 
                
array$config 
Returns
arraydescribeForeignKeySql() ¶ public
describeForeignKeySql(string $tableName, array $config): array
      Generate the SQL to describe the foreign keys in a table.
Parameters
- 
                
string$tableName - 
                
array$config 
Returns
arraydescribeIndexSql() ¶ public
describeIndexSql(string $tableName, array $config): array
      Generate the SQL to describe the indexes in a table.
Parameters
- 
                
string$tableName - 
                
array$config 
Returns
arraydescribeOptionsSql() ¶ 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
arraySQL statements to get options for a table.
dropConstraintSql() ¶ 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
arraySQL statements to drop a table.
indexSql() ¶ 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$schema - 
                
string$name 
Returns
stringlistTablesSql() ¶ public
listTablesSql(array $config): array
      Generate the SQL to list the tables.
Parameters
- 
                
array$config 
Returns
arraytruncateTableSql() ¶ public
truncateTableSql(Cake\Database\Schema\TableSchema $schema): array
      Generate the SQL to truncate a table.
Parameters
- 
                
Cake\Database\Schema\TableSchema$schema 
Returns
array