Ich habe eine MySQL-Datenbank mit Doctrine mit Symfony erstellt und musste eine Tabelle ändern, indem ich zwei ihrer Attribute extrahierte und sie einer neuen Entität zuwies. Die erste Entity heißt "Area" und die zweite heißt "Formato". Zuvor, als ich einen neuen Bereich erstellen wollte, habe ich ID, Name, Breite und Höhe angegeben. (Da die Anwendung in Spanisch entworfen ist, heißt die Breite "ancho" und die Höhe wird "alto" genannt) Nun, mit dem neuen Design, ist die Idee, seine ID, Name und FormatId bereitzustellen. Natürlich werden bereits einige Formate in die Format-Tabelle eingefügt, und Area wird FormatId als Fremdschlüssel für Formato verwenden. Bisher es ist nicht eine komplexe Sache zu tun, aber wenn ich versuche, eine neue Umgebung zu erstellen, erhalte ich eine Fehlermeldung:Doktrin erzeugt falsche INSERT-Anweisung
AbstractMySQLDriver->convertException('An exception occurred while executing \'INSERT INTO areas (descripcion, nombre, idarea, ancho, alto, idmedio, idformato) VALUES (?, ?, ?, ?, ?, ?, ?)\' with params ["", "Zilosoft Area7", "21626759324", null, null, "28545628", "1"]:SQLSTATE[42S22]: Column not found: 1054 Unknown column \'ancho\' in \'field list\'', object(PDOException))
So, wie Sie sehen können, die neue INSERT
Anweisung Vermischung der alten Attribute mit der neuen, die eine Art "gemischte" oder "fusionierte" Anweisung erzeugt.
Ich habe immer und immer wieder durch die Quelldateien suchen, kann aber nicht verstehen, wie das passiert ist, als meine Entities
sind alle auf dem Laufenden, die von diesem diesem Bereich bedeutet ein Format hat und nicht „ancho“ noch " alto ", und Formato ist eine getrennte Entität mit" ancho "und" alto "darin.
Wissen Sie, ob ich in Doctrine "zurücksetzen" oder "Cache löschen" möchte, damit es die korrekte Insert-Anweisung generiert?
Übrigens sind formato Daten, die aus einem Kombinationsfeld in einer Twig-Vorlage entnommen und aus der Formatos-Tabelle geladen werden.
Versuchen Sie, den Cache Ihrer Anwendung zu löschen. Frühere Dateien, die auf veraltete Entitäten verweisen, klingen wie das Problem. –
Danke @AndrewNolan für Ihre Antwort. Nach dem Versuch, den Cache zu leeren, erhalte ich immer noch den gleichen Fehler. –