-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
more than one field found...bei update #364
Comments
Das irgendwie wäre cool zu wissen. Kannst du das reproduzieren und nochmal prüfen ? |
Leider nicht mehr. Sollte sich wieder was tun, werde ich mich melden. |
Anm.: Ich hatte den Fehler auch mal - losgelöst von YCom in YForm und eher im Zusammenhang mit einer alten REDAXO-Installation, evtl. sogar vom Converter angestoßen. Ich glaube nicht, dass es ein YCom-Problem ist und wenn, dann liegt der Fehler weit in der Vergangenheit und fällt hier korrekterweise auf. edit: yakamara/yform#108 |
Hatte es jetzt auch in einer 2-3 Jahre alten Installation Exception: more than one field found for table: rex_ycom_user with Fieldidentifier: value, ycom_auth_password, password Stacktrace
System report (REDAXO 5.12.1, PHP 7.4.23, MySQL 5.7.33)
|
Hatte ein Bekannter gestern auch. Da war es allerdings das Feld "status". Allerdings aktuell bei 4.0.1 auf 4.0.6. |
Meinem Empfinden nach ist das Thema "durch" und lässt ich auch nicht mehr reproduzieren, ggf. ist es sogar unabhängig von YCom. Doppelte Felddefinitionen könnten zukünftig durch Maßnahmen wie yakamara/yform#1217 vermieden werden. |
Wieder aktuell in Slack |
Bitte yakamara/yform#1217 umsetzen, um nachvollziehen zu können, ob das Problem bereits existierte oder erst durch das Update eingeführt wurde. |
Ich konnte es jetzt eingrenzen - schlägt eine Addon-Installation fehl oder wird ein reinstall ausgeführt, bei der ein Tableset erneut importiert wird, werden ggf. Felddefinitionen noch einmal hinzugefügt. Das ist mir jetzt auch bei meinem Addon passiert. Eine UNIQUE-Validierung könnte helfen, um solche Fehler zu verhindern:
Lösungsvorschlag in YForm: yakamara/yform#1217 In meinem Fall ist es so, dass das YCom-E-Mail-Validierungsfeld 3x in der Datenbank war. |
ich schließe das hier, weil es ein YForm Problem ist. |
Hab dir hier auch gerade wieder bei YCom 4.0.3 (und Versuch zu reinstallieren oder zu updaten). Durch manuelles Löschen der Duplikatszeile(n) löst sich das auf. Dann kommt aber direkt im Anschluss:
Ein Hinweis hier: Der Der |
Kopie aus Slack (von mir): Habs jetzt auch hinbekomen. Komisch trotzdem. Mir scheinen da einige Check-Methoden bestimmte Fälle nicht ausreichend zu berücksichtigen.
Schlussendlich dürfte das Duplikat (beides mal Typ Bei meinem Fall eben was alles top-aktuell (heute geupdated), nur YCom nicht. Beim Installieren werden fast ausschließlich Methoden des Tablemanager-Plugins von YForm benutzt. Das lässt keinen anderen Schluss zu als das der Fehler bei YForm liegt. @marcohanke kann das ebenfalls bestätigen. Um zu prüfen, ob die Duplikate schon vor dem versuchten YCom-Update existiert haben, konnte ich bei der aktuellen Installation hier gut nachsehen (da das Projekt vorher wegen der vielen großen Updates und großumfänglichem Einsatz von YForm) geklont wurde. Dort gibt es z.B. die Password-Zeile nur 1 mal (group-Zeile ebenso). Allerdings ist dort auch YForm noch auf 3.x. Ich fänd es ja komisch, wenn ausgerechnet nur diese 1 Zeile von YForm aus dupliziert worden sein sollte allein durch ein YForm-Update (ohne YCom anzufassen). Ergibt für mich keinen Sinn, es sei denn, da gibt es irgendwo komische Hooks/Trigger/EPs ... |
Es geht ja darum, spezifisch den Schritt zu isolieren, bei dem die Verdopplung stattfindet. |
Ich hab bei dem Projekt diverse Instanzen am Start. Aktuell ist es der erste Test, wie gut (oder nicht) die Updates durchgehen. Eigentlich wollte ich dann (weil alles noch ohne reale Daten) Files und DB synchen bzw. mergen, um Zeit zu sparen. Das Updaten hat mich heut den ganzen Tag gekostet. Bei 3 auf 4 gab es Probleme wegen der Versionsvoraussetzungen gegenseitig und zum Core, dann PHP-Version etc. Das Bundle Core / YForm (+ Helper AddOns) / YRewrite / YCom ist bei größeren Update-Pausen schon schwierig, da man nicht wirklich weiß, was zuerst und wann welche PHP-Version ändern etc. Wie so oft, habe ich bei Dependency-Errors gelöst, indem ich zwischenzeitlich bestimmte AddOns einfach deaktiviert habe. Falls ich doch nochmal Lust habe, alles durchzuklicken, statt zu mergen, achte ich mal pro Schritt auf die betroffene Stelle der DB. So oder so sollte man sich aber mal die Methoden anguclken, die die Inserts in die Field-Table vornehmen, da scheint mir das Problem am wahrscheinlichsten zu liegen. |
Also long story short: wir wissen weiterhin nicht, in welchem Schritt unter welcher Voraussetzung das passiert und mit etwas Glück opferst du dich nochmal dafür, es herauszufinden, vielleicht auch nicht. Ich gehe nicht davon aus, dass Jan allerdings seine Zeit auf gut Glück investieren wird, herauszufinden, woran es liegt, wenn keiner hier (auch ich nicht) das fest reproduzierbar bekommt. Solange müssen wir halt weiter damit leben. |
Also, die Überprüfung funktioniert sehr gut - jetzt lässt sich YCom nicht updaten mit folgender Fehlermeldung:
In der Datenbank ist das Feld |
Wo kommt denn der constraint her? Hat die Tabelle ein unique? |
YForm macht beim Importieren des Tablesets das zur Regel. Mich wundert nur, warum YForm das Feld nach wie vor erneut in die Datenbanktabelle eintragen möchte, statt zu ignorieren/upzudaten wie alle anderen auch. |
Konnte ich nicht im Code finden. |
Update von: 4.0 auf 4.03.
-Was ist schief gelaufen?
-Wie kann man das beheben?
Irgendwie ist durch jahrelange Updates für ycom_auth_password in YForm eine 2 Definition für das Feld rex_ycom_user
gelangt.
Löschen der überzähligen Definition hilft.
The text was updated successfully, but these errors were encountered: