function Schema::createPrimaryKeySql
Same name in other branches
- 9 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createPrimaryKeySql()
- 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::createPrimaryKeySql()
- 10 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createPrimaryKeySql()
Create the SQL expression for primary and unique keys.
Postgresql does not support key length. It does support fillfactor, but that requires a separate database lookup for each column in the key. The key length defined in the schema is ignored.
3 calls to Schema::createPrimaryKeySql()
- Schema::addPrimaryKey in core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Schema.php - Add a primary key.
- Schema::addUniqueKey in core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Schema.php - Add a unique key.
- Schema::createTableSql in core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Schema.php - Generate SQL to create a new table from a Drupal schema definition.
File
-
core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Schema.php, line 494
Class
- Schema
- PostgreSQL implementation of \Drupal\Core\Database\Schema.
Namespace
Drupal\pgsql\Driver\Database\pgsqlCode
protected function createPrimaryKeySql($fields) {
$return = [];
foreach ($fields as $field) {
if (is_array($field)) {
$return[] = '"' . $field[0] . '"';
}
else {
$return[] = '"' . $field . '"';
}
}
return implode(', ', $return);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.