You are here

protected function Schema::createPrimaryKeySql in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::createPrimaryKeySql()

Create the SQL expression for primary 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.

2 calls to Schema::createPrimaryKeySql()
Schema::addPrimaryKey in core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
Add a primary key.
Schema::createTableSql in core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
Generate SQL to create a new table from a Drupal schema definition.

File

core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php, line 479

Class

Schema
PostgreSQL implementation of \Drupal\Core\Database\Schema.

Namespace

Drupal\Core\Database\Driver\pgsql

Code

protected function createPrimaryKeySql($fields) {
  $return = [];
  foreach ($fields as $field) {
    if (is_array($field)) {
      $return[] = '"' . $field[0] . '"';
    }
    else {
      $return[] = '"' . $field . '"';
    }
  }
  return implode(', ', $return);
}