#826668: DatabaseSchema_mysql should not die if additional keys are present in the $new_keys array. From: Damien Tournoud --- database/mysql/schema.inc | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git includes/database/mysql/schema.inc includes/database/mysql/schema.inc index 60fe5c7..68b39d7 100644 --- includes/database/mysql/schema.inc +++ includes/database/mysql/schema.inc @@ -316,8 +316,8 @@ class DatabaseSchema_mysql extends DatabaseSchema { } $query = 'ALTER TABLE {' . $table . '} ADD '; $query .= $this->createFieldSql($field, $this->processField($spec)); - if (count($keys_new)) { - $query .= ', ADD ' . implode(', ADD ', $this->createKeysSql($keys_new)); + if ($keys_sql = $this->createKeysSql($keys_new)) { + $query .= ', ADD ' . implode(', ADD ', $keys_sql); } $this->connection->query($query); if (isset($spec['initial'])) { @@ -439,8 +439,8 @@ class DatabaseSchema_mysql extends DatabaseSchema { } $sql = 'ALTER TABLE {' . $table . '} CHANGE `' . $field . '` ' . $this->createFieldSql($field_new, $this->processField($spec)); - if (count($keys_new)) { - $sql .= ', ADD ' . implode(', ADD ', $this->createKeysSql($keys_new)); + if ($keys_sql = $this->createKeysSql($keys_new)) { + $sql .= ', ADD ' . implode(', ADD ', $keys_sql); } $this->connection->query($sql); }