function DatabaseSchema_pgsql::addUniqueKey
Overrides DatabaseSchema::addUniqueKey
1 call to DatabaseSchema_pgsql::addUniqueKey()
- DatabaseSchema_pgsql::_createKeys in includes/
database/ pgsql/ schema.inc
File
-
includes/
database/ pgsql/ schema.inc, line 663
Class
Code
function addUniqueKey($table, $name, $fields) {
if (!$this->tableExists($table)) {
throw new DatabaseSchemaObjectDoesNotExistException(t("Cannot add unique key @name to table @table: table doesn't exist.", array(
'@table' => $table,
'@name' => $name,
)));
}
if ($this->constraintExists($table, $name . '_key')) {
throw new DatabaseSchemaObjectExistsException(t("Cannot add unique key @name to table @table: unique key already exists.", array(
'@table' => $table,
'@name' => $name,
)));
}
$this->connection
->query('ALTER TABLE {' . $table . '} ADD CONSTRAINT "' . $this->ensureIdentifiersLength($table, $name, 'key') . '" UNIQUE (' . implode(',', $fields) . ')');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.