Update 5.5.10 auf 5.6.2 Problem

Hallo,

während des Update Vorgangs erhalte ich die Fehlermeldung " Error: SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‚s_plugin_schema_version‘ already exists „}“.
Ich hatte ein Plugin, sollte dieses moniert werden, das Table of Contents hieß und nicht für 5.6 geeignet war. Bin mir aber nicht sicher ob dieses Plugin damit gemeint ist. Auch weiß ich nicht was die 1050 aussagt.
Dieses Plugin habe ich gelöscht. Eine neue leere Datenbank wurde angelegt, mit der der Shop jetzt läuft.
Kann mir jemand sagen, wo ich diesen Fehler suchen muss um das Update ausführen zu können ? Ständig rücksichern ist zwar eine schöne Sache, damit der Shop wieder läuft, bringt mich aber nicht wirklich weiter.
Vielen Dank vorab!
 

Irgendetwas passt hier nicht zusammen. Das ganze bezieht sich wohl auf Migration1605:

$this->addSql('CREATE TABLE `s_plugin_schema_version` (
    `plugin_name` VARCHAR(255) NOT NULL COLLATE \'utf8_unicode_ci\',
    `version` INT(11) NOT NULL,
    `start_date` DATETIME NOT NULL,
    `complete_date` DATETIME NULL DEFAULT NULL,
    `name` VARCHAR(255) NOT NULL COLLATE \'utf8_unicode_ci\',
    `error_msg` VARCHAR(255) NULL DEFAULT NULL COLLATE \'utf8_unicode_ci\',
    PRIMARY KEY (`plugin_name`, `version`)
)
COLLATE=\'utf8_unicode_ci\'
ENGINE=InnoDB
');

Die Tabelle ist jedeoch mit Installation von SW 5.6.x schon dabei. Soweit ich sehen konnte jedoch nicht in der Version 5.5.10.

Lösung?

Vor dem Update dei Tabelle „s_plugin_schema_version“ einfach löschen und Update neu versuchen.

Das ist schonmal ein schöner Hinweis. Und diese Tabelle finde ich  in der MySQL Datenbank ?

@awprint schrieb:

Das ist schonmal ein schöner Hinweis. Und diese Tabelle finde ich  in der MySQL Datenbank ?

Ganz genau! 

Nachdem mir jetzt 8 Tabellen moniert wurden und ich alle gelöscht hatte, habe ich folgenden Fehler erhalten:
Received the following error message:
Could not apply migration (Migrations_Migration1623). Error: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name ‘content_type’

Das Problem? Diese Tabelle wird mir nicht angezeigt. Heißt die Tabelle vielleicht anders und wird nur als content_type bezeichnet ?

Oh ja, das Problem kenne ich. Ich hatte einige Versuche die Version 5.5.10 auf 5.6.2 zu bringen. 
Für mich hat es den Eindruck, dass das Update schon einmal gelaufen ist und jetzt Fragmente in der
Datenbank vorhanden sind (nur meine Annahme)
 

Cool wäre ein SQL Script welches den DBStand zwischen 5.5.10 und 5.6.2 löscht.

Ich hatte versucht eine original Struktur 5.5.10 im meiner Testumgebung zu erzeugen musste aber aufgeben da zu viele 
Plugins schon Veränderungen an Tabellen vorgenommen hatten…

Für einen Kenner wahrscheinlich eine Kleinigkeit!

Final bin ich immer noch auf 5.5.10 :frowning:

Viele Grüsse

Jörg

@Jörg

Notgedrungen werde ich auch bei 5.5.10 bleiben müssen. Das mit dem Script sehe ich als sinnvolle Lösung an. Als einem Laien in technischer Hinsicht kommt es mir vor als ob mit dem Shopkauf gleichzeitig auch ein Programmierer mit eingekauft werden sollte, um die technische Seite zu bewältigen, sobald etwas schief läuft. Ein schief gelaufenes Update und das wars dann mit den Aktualisierungen? Wenn manuelle Eingriffe/Eigenprogrammierungen im System vorgenommen wurden und die Aktualisierung läuft nicht durch habe ich Verständnis dafür.
Ich spreche dabei nicht von Inkompatibilitäten zwischen Plugins oder verschlüsselten Plugins. Wurde ja auch alles schön grün angezeigt vor dem Update.

Wenn bei ausschliesslichem Einsatz von Plugins, die über Shopware zum Verkauf stehen, dann aber dennoch solche Probleme auftreten, weiß ich nicht was ich denken soll. Das sieht dann so aus als ob das gesamte System neu umgekrempelt werden müsste bzw. man gleich über eine komplette Neueinrichtung nachdenken sollte, da diese vermutlich günstiger ausfallen würde, als ein Stück für Stück Check des “alten” Systems. Vielleicht denke ich hier auch zu sehr als Kaufmann und nicht als Programmierer und damit womöglich etwas realitätsfern.
Auch für einen Kenner dürfte das keine Kleinigkeit sein, zumindest nicht für jeden, denn ich hatte einen mit der Fehlersuche beauftragt, der auch eine längere Zeit für die Fehlerfindung veranschlagt hatte. Einfach auf irgendein Knöpchen drücken und dann ist gut, funktioniert demnach auch bei Profis nicht.

Ich kann das sehr gut nachvollziehen…

Ich bin seit eben auf der Version 5.6.2 (jubel, feier, Sekt…).  Was habe ich gemacht:

  • Habe mir eine Staging Version eingerichtet (gibt es ein 30 Tage Trial) --> Wirklich grosse Klasse (Du musst nur die Datenbank anlegen…)
    https://store.shopware.com/8mz3122917443931/staging/testumgebung-1-klick-einrichtung.html“ Grosses Lob an MYLEZ !
  • Dannach habe ich das Update in die Staging-Version kopiert
  • Dann Update ausgeführt (natürlich in der Staging-Version) … shop-Deine-Domain.de/staging/recovery/update
  • Bei jeder Fehlermeldung des Scriptes habe ich den Fehler geprüft
    • ? Ist die Tabelle da
    • ? Ist das Feld da
    • ? Sind die Werte in der Tabelle
    • … etc.
    • Die entsprechenden Scripte findest Du im „migrations“ Verzeichnis des Updates-Files
  • Wenn ich das Problem gelöst habe (meistens war es keines…) habe ich die Datei „s_schema_version“ mit phpMyAdmin
    geöffnet und den entsprechenden Eintrag (meistens am Ende) mit einem Datum versehen (Feld -->complete_date)
    somit wird beim nächsten Updatelauf dieser „Fehler“ ignoriert.
  • Dann in das Update wechseln und die Seite aktualisiern … Das Update beginnt von vorne…
  • … beim nächsten Fehler … wieder wie oben beschrieben…

Achte darauf, dass das Plugin „Connect“ deinstalliert (gelöscht).…verursachte bei mir Probleme mit dem Update

Lade vorher den Ioncube Check herunter und installiere ihn… er zeigt Dir on noch verschlüsselte 
Plugins installiert sind… „https://store.shopware.com/frosh49916215277f/ioncube-check.html“  

Noch eins… prüfe bitte auch die Systemvorraussetzungen für die Installation: Fragezeichen > Softwareaktualisierung!
Wieso: Weil 5.6.x zwingend die richtige PHP Version & MySQL Version erfordert :slight_smile:

… So und jetzt viel Spass (von Kaufmann zu Kaufmann)

Liebe Grüsse

Jörg

Danke Jörg,

ich seh schon wieviel Spaß das gemacht haben muss.  Wie lange hast du gebraucht bis das Update endgültig durch war? Heißt Lösungssuche, Tests, Lösungsfindung und dann die Durchführung? 3-4 Tage ? Ich war allein mit der jetzigen Suche und Bereinigung, die bislang nichts gebracht hat, 2 Tage unterwegs. Es gibt ja meist eine Lösung für ein Problem, aber ob`s das in diesem Fall sein kann. Den Shop neu programmieren wollte ich eigentlich nicht - mal überspitzt formuliert. Und wenn ich mir nur die Leute ansehe, die sich wegen dieser oder ähnlicher Updateprobleme im Forum überhaupt gemeldet haben-Prost Mahlzeit. Wäre mal die Dunkelziffer interessant, die sich nicht meldet und den Shop auf der alten Version belässt oder sich überlegt komplett umzusteigen, auch wenn Shopware viele gute Aspekte mit sich bringt. Da frage ich mich was beim nächsten Update kommt. Aber „meckern“ hilft ja bekanntlich nicht weiter. Muss eben jeder für sich entscheiden wie er sich künftig ausrichtet, heißt hier weiter kämpfen oder das Gleiche eventuell bei einem anderen Shopsystem erleben. Na zumindest vielen Dank für deinen Post und ein schönes Wochende!

Danke für die Antwort,

wie ich es bei Dir sehe handelt es sich um ein Update welches nicht sauber gelaufen ist. Mit der von mir aufgezeigten Methode kannst Du Schritt für Schritt
das Update durchführen. 

Die Staging Version (Trial) hilft Dir beim Testen… und dauert 10 min :slight_smile:

Ich habe sehr viel Zeit investiert aber schließlich war es mein Fehler weil ich ein Backup nicht richtig zurückgespielt habe!
Daher ist eine Entwicklungsumgebung mit „Echtdaten“ perfekt.

Das eigentliche Update heute war super schnell… da ich lediglich 8 Fehler zu ignorieren hatte…

Viel Erfolg

LG

Jörg 

@awprint Wenn Du die Energie, die Du jetzt aufwendest, vor dem Update besessen hättest, wäre der Aufwand viel kleiner gewesen. Auch wäre das der richtige Zeitpunkt gewesen, einen Fachmann zu beauftragen. Wenn die Installation erst „versaut“ ist, wird’s natürlich immer teurer.

Bastelst Du auch erst am Automotor rum bis er nicht mehr läuft und beschwerst Dich dann über die Werkstattkosten?

BTW Ich bin Chemiker und kein IT-Fachmann, trotzdem waren jetzt alle Updates seit 4.3 völlig problemlos, wenn man vorher alle wichtigen Infos in den Upgrade-Guides gelesen und berücksichtigt hatte (insbesondere und vor allem mit der neuen Version inkompatible Plugins raus werfen und zwar komplett, nicht nur deaktivieren). Zur Sicherheit wird das vorher an der Staging-Umgebung geübt, bis es fehlerfrei klappt.

By the Way…(Du musst nur die Datenbank anlegen…)

Ich nehme an du hast zuerst eine neue leere Datenbank bei deinem Hoster angelegt ?

Genau, dass war nicht so gut beschriebn … meine heißt jetzt „Staging_DB,“

Ich mache die Verwaltung über Plesk …

Danke Jörg.

@ drakon…hast du sicherlich recht, wobei ich nicht mit so einem Ausmaß an Problemen gerechnet hatte, weil ein einziges inkompatibles Plugin dabei war. Ich hatte auch nicht damit gerechnet dass bei einer Rücksicherung der Datenbank bzw. der Webfiles, Entfernen des Plugins und erneutem Anlauf der gleiche Fehler wieder auftritt. Warum das so ist hatte Moritz von Shopware an anderer Stelle bereits berichtet.
Behauptet hatte ich nicht, dass ich völlig schuldlos an der Misere war. Ich hatte ja beschrieben worauf der/mein Fehler zurück ging. Nur mit dem Ausmaß an Schwierigkeiten hatte ich nicht gerechnet.

Ich glaube, das größte Problem bei der Geschichte insgesamt ist, dass beim Datenbankrestore mit den üblichen empfohlenen Tools die Datenbank nicht ersetzt, sondern nur überschrieben wird, wobei Tabellen und Spalten, die noch gar nicht vorhanden sein sollten, leider übrig bleiben.

Das ist den wenigsten bewußt und sorgt für massive Probleme.

Das MYSQL-Tool in der bash direkt auf dem Server verhält sich so wie erwartet und ersetzt die Datenbank komplett mit dem Restore. So dass man teilweise in wenigen Minuten wieder den alten Zustand hat. Die Angst davor, direkt auf dem Server zu arbeiten, ist teilweise irrational und kostet einen nur Zeit und Nerven (gut, dass ich noch mit MS-DOS gross geworden bin  Wink).

Hallo Drakon,

genau das war meine Lernkurve! … und inder Tat Terminal lässt alte Gefühle erwecken!   Smile

 

Schönen Abend