Ich benutze Symfony/YaML/Doctrine um Daten in einem MySQL Backend zu speichern. Ich möchte einen Index erstellen (um Abfragen zu beschleunigen), indem ich einige der von mir deklarierten FKs verwende. Allerdings, wenn ich versuche, das Schema zu generieren, erhalte ich folgende Fehlermeldung:Doctrine DBAL Schema SchemaException: Wie man eine oder mehrere FKs in einen deklarierten Tabellenindex einbezieht
[Doctrine\DBAL\Schema\SchemaException] There is no column with name 'to_user_id' on table 'pms'
Wenn ich den Index Erklärung auf Kommentar, ich bin in der Lage, die Tabelle ohne Probleme zu erzeugen. Dies ist, was meine YAML-Datei wie folgt aussieht:
AppBundle\Entity\PrivateMessage:
type: entity
table: pms
repositoryClass: PMSRepository
id:
id:
type: integer
generator: { strategy: AUTO }
manyToOne:
from_user:
targetEntity: User
joinColumn:
name: from_user_id
referencedColumnName: id
nullable: false
onDelete: RESTRICT
onUpdate: CASCADE
manyToOne:
to_user:
targetEntity: User
joinColumn:
name: to_user_id
referencedColumnName: id
nullable: false
onDelete: RESTRICT
onUpdate: CASCADE
manyToOne:
message_type:
targetEntity: PrivateMessageType
joinColumn:
name: pms_type_id
referencedColumnName: id
nullable: false
onDelete: RESTRICT
onUpdate: CASCADE
manyToOne:
message_status:
targetEntity: PrivateMessageStatus
joinColumn:
name: pms_status_id
referencedColumnName: id
nullable: false
onDelete: RESTRICT
onUpdate: CASCADE
indexes:
idx_pms:
columns: [from_user_id, to_user_id, created_at]
fields:
subject:
type: text
nullable: false
body:
type: text
nullable: false
attach_1:
type: string
length: 128
nullable: true
attach_2:
type: string
length: 128
nullable: true
attach_3:
type: string
length: 128
nullable: true
created_at:
type: datetime
Hehehe, das habe ich heute Morgen herausgefunden, nach einer guten Nacht! –