Shopware 6.4.0.0 Update Fehler

Hallo Zusammen,
ich habe ein Test Shon von 6.3.5.4 auf 6.4.2.1 geupdate. Plugins alle deaktiviert, Französisches Sprachpaket deinstalliert dann update gemacht lief ohne Fehlermeldung durch.
Wenn ich jetzt „php74 bin/console dal:refresh:index“ aufrufe kommt folgende Fehlermeldung:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'main_category.category.cms_page_version_id' in 'field list'

Das Backend von dem Testshop ist erreichbar, das Frontend aber wegen dem Fehler nicht.

Was kann ich machen ?

Hallo Zusammen,
ich habe jetzt nochmal bei einer Kopie vom Live Shop 6.3.5.4 ein Update auf 6.4.4.0 gemacht.
Französisches Sprachpaket deinstalliert, alle nicht kompatiblen Updates deaktiviert update gemacht keine Fehlermeldung.
Nach dem Update Backend funktioniert, alle Plugins aktualisiert, Shopware Sprachpaket installiert.
Frontend funktioniert nicht, Cache gelöscht Theme neu kompiliert Fehler immer noch vorhanden.
Danach „ php74 bin/console dal:refresh:index “ aufgerufen dann kommt dieser Fehler:

SQLSTATE[42S22]: Column not found: 1054 Unknown column ‚main_category.categ
ory.cms_page_version_id‘ in ‚field list‘

Ich könnte jetzt die fehlenden Felder in der Datenbank selbst erzeugen aber wer weiß was da noch fehlt…

Warum läuft das Update ohne Fehlermeldung durch, erzeugt aber anscheinend nicht alle Felder in der Datenbank?

Kann man die Datenbank Änderungen die das Update auf 6.4.4.0 eingespielt hat irgendwo einsehen und ggf. nochmal per Hand einspielen? Wenn ja wo finde ich diese Daten ?

Hat sonst keiner das Problem? Was sollte ich machen? Würde ungern den Live Shop so updaten und dann im Nachhinein die Felder in der DB per Hand korrigieren.

Wird echt mal Zeit sich von den hardcodierten MySQL Updates zu verabschieden und etwas zu schaffen, dass wesentlich Fehlertoleranter ist.

Deltas aus einem Zielschema und dem aktuellem DB Schema berechnen und gezielt Tabellen/Spalten usw aktualisieren. So würden auch Downgrades funktionieren.

hab jetzt nochmal das Update über cli durchgeführt, alle Plugins deaktivert, Plugin FR Sprache deinstalliert + gelöscht aber leider gleiches Problem und keine Fehlermeldung beim Update.
Habe 6.3.5.4 nochmal komplett ohne Daten neu installiert und dann das Update auf 6.4.4.0 durchgeführt, danach war das Feld „cms_page_version_id“ in der Tabelle „category“ vorhanden.
Muss also vermutlich irgendwas mit den Daten in dem Shop zu tun haben, der Shop wurde mit 6.0 bzw 6.1 Ende 2019 erstellt, also relativ „alt“. Alle Updates bis 6.3.5.4 liefen bisher ohne Probleme durch…
Ich habe versucht die Updatestatements für „category.cms_page_version_id“ in den Updatescripten für 6.4.4.0 zu finden leider ohne Erfolg :frowning:

Wer kann helfen ?

Etwas mühselig, aber mir hat das schon bei 2 fehlgeschlagenen Updates aus der Patsche geholfen:

  • irgendwo ein blankes SW 6.4.4.0 installieren
  • das erzeugte Datenbank-Layout per HeidiSQL o.ä. exportieren (nur die Struktur, ohne Daten)
  • aus dem „kaputten“ 6.4.4.0 System ebenfalls ein Struktur-Export erzeugen
  • die Exporte per BeyondCompare o.ä. Diff-Tool vergleichen (=> Download Beyond Compare Free Trial )
  • Spalten die durch Plugins hinzugekommen sind ignorieren
  • ansonsten fehlende Spalten per HeidiSQL o.ä. erzeugen (zB ALTER TABLE mytable ADD COLUMN newcol INT NULL AFTER prevcol;

Kann natürlich komplizierter werden als ein paar fehlende Spalten zu erzeugen, aber so bist du schon mal weiter.

danke für den Tipp hab es jetzt so ähnlich gemacht…
ein Dump von der aktuellen Struktur vor dem Update und ein Dump von einem frisch installiertem 6.3.5.4
Beides per Winmerge verglichen und das Fehlende in der aktuellen Struktur wieder eingespielt danach läuft das Update durch die Felder in den Tabellen sind vorhanden und „ php74 bin/console dal:refresh:index “ läuft auch ohne Fehlermeldung… DANKE

Das Thema ist ja nun doch schon mehr als nur ein paar Wochen alt- gibt es da seitens Shopware @Moritz_Naczenski irgendwann auch mal einen ordentlichen fix ohne das man alles neu aufsetzen muss stundenlang manuell rumpfuschen muss in den Datenbanken?

Hallo an alle,

hatte heute den selben Fehler.

Es muss in einigen Tabelle der Primary Key entfernt werden und das Attribut ‚version_id‘ gelöscht werden.

81b24675e69d0328618c19a444c1c4e9
In den jeweils rot markierten Tabellen muss das Attribut ‚version_id‘ komplett entfernt werden und in den gelb markierten jeweils der Primary Key von ‚version_id‘ entfernt werden (‚cms_slot‘).

Danach sollte das Update funktionieren.

Schöne Grüße von den codegiganten aus Paderborn!