contao/import — Issue #2735: Keys mit mehreren Spalten werden vom install.php Script nicht korrekt behandelt
Author: importer
Created: 2011-11-29 20:05:34+00:00
State: open
Labels: backend, Duplicate, Feature

Wenn man versucht eine Tabelle mit einem Schlüssel über mehrere Felder wir hier zu erstellen

```
UNIQUE KEY `pid_email` (`pid`,`email`)
```

erhält man einen Fehler beim Aktualisieren der Datenbank weil der Installer versucht zwei Schlüssel anzulegen. Das Problem ist `list_fields` der Klasse Database bzw. den jeweiligen Implementationen.

Im angehängten Patch gibt es eine Lösung für MySQL, die bei allen anderen Datenbanksystemen auf das bisherige Verfahren zurück fällt. Ich hab die Lösung nicht umfangreich getestet aber sie scheint in meinem Fall das Problem ziemlich gut zu lösen.

ACHTUNG: In der `install.php` hab ich den Code

```
elseif ($sql_current[$k]['TABLE_CREATE_DEFINITIONS'][$kk] != str_replace('FULLTEXT ', '', $vv))
{
$return['ALTER_CHANGE'][] = 'ALTER TABLE `'.$k.'` DROP INDEX `'.$kk.'`, ADD '.$vv.';';
}
```

deaktiviert (in Zeile 960) da mir scheint, dass dies ein Workaround ist, der jetzt nicht mehr nötig ist. In wie weit das allerdings dann ein Problem mit nicht MySQL Datenbanken ist kann ich so nicht abschätzen.

[Download the attachments](http://www.contao.org/tl_files/tickets/2735.zip "Download the attachments of this ticket")
Related issues: #112, #3033

--- _Originally created by leonex on December 12th, 2010, at 04:14pm (ID 2735)_