Update von BETA1 nicht möglich - Datenbank Update schlägt fehl

Hallo allerseits,

ich bin seit heute morgen bemüht das neueste Update einzuspielen. Nachdem der Weg über den FTP Server schon einige Male schief gelaufen ist, habe ich über das Backend die Info zum Update auf 5.2.1 erhalten. Gesagt getan… Update Fehler. Während der Datenbank Aktualisierung erscheint folgernder Fehler:

Error
Received the following error message:
Could not apply migration: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'title'

Please try to fix this error and restart the update.
Response
{"valid":false,"errorMsg":"Could not apply migration: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'title'"}

Kann mir hier jemand weiterhelfen, wie ich vorgehen muss, um diesen Fehler zu beheben?

Vielen Dank vorab.

Gruß

Da wir in den Datenbank Migrationen etwas ändern mussten, ist ein Update von BETA1 auf die finale 5.2 nicht ohne weiteres möglich. Du wirst ein Backup von vor dem BETA1 Update einspielen müssen und dann das Update auf die Finale 5.2 machen.

Das ist leider nicht mehr möglich. Die Backups vor der BETA1 wurden bereits überschrieben.

Könnte ich eventuell die Spalte aus der Tabelle löschen?

Ist es möglich, über die RC Version oder einen downgrade auf 5.1.6 auf die finale 5.2.1 zu kommen?

Ein Downgrade im eigentlichen Sinne geht nicht.

Falls ich aus Deinen Beiträgen richtig herauslese, dass Du die Beta auf einem Produktivsystem eingespielt hast, möchte ich die Gelegenheit gerne zu einer zusätzlichen Warnung nutzen:

Installiere niemals eine Beta-Version auf einem System, das Du nicht jederzeit ohne Probleme löschen könntest. Das gilt nicht nur für Shopware.

Aber zu Deinem Problem, was Du machen kannst ist, Dir die einzelnen Migrationen anzuschauen, die zwischen Beta und Final passiert sind, die Datenbank auf einen updatefähigen Stand zu bringen und einen dazu passenden Migrationsstand zu hinterlegen. (Siehe Tabelle ‘s_schema_version’)

Auf jeden Fall solltest Du spätestens jetzt ein Backup machen, dass nicht demnächst gelöscht wird. Die Chancen, hier durch einen Fehler das System unbrauchbar zu machen, sind durchaus vorhanden.

Selbst wenn Du am Ende das Upgrade durchführen kannst gehe davon aus, dass das System nicht direkt offensichtliche Fehler enthält. Ich empfehle dringend, wenn irgend möglich, eine frische Installation oder ein Upgrade von einem Backup aus durchzuführen. Alles andere ist, wie es umgangssprachlich so schön heißt, Frickelei und auch so nicht supportbar.

Gruß, Niklas

Hätte ja im Leben nicht damit gerechnet, dass eine beta Version nicht upgradebar auf die finale Version ist. Das kenne ich bisher zum Glück von keiner beta. In diesem Fall kamen wir nicht um die BETA1 herum, aus verschiedenen Gründen.

Was habe ich jetzt für Möglichkeiten?

  1. Kann ich über die RC1, 2 oder 3 noch was machen? Also Update auf einer der Versionen und dann stable?
  2. An die Datenbank traue ich mich in solchen Fällen nicht dran. Ist es möglich hierfür ein Supportticket zu eröffnen?
  3. Bei einer Neuinstallation würden alle Artikel, Kategorien, Bilder, Themes etc von 7 Monaten verloren gehen. Gibt es hier eine Exportmöglichkeit?

Auch wenn es oft klappt, Beta von egal was auf Produktivsystemen ist immer gefährlich. Es ist zwar bitter, aber das muss man dann leider unter Lehrgeld verbuchen.

Zu Deinen Möglichkeiten.

  • Es gibt keinen Updatepfad von der beta auf die 5.2 final
  • Die individuelle Anpassung von Nutzerdatenbanken geht über den Supportrahmen weit hinaus
  • Es gibt den Advanced Import/Export, aber das ist für Deinen Fall nicht ausgelegt und wird Dir nicht viel bringen

Du wirst nicht darum herumkommen, die Datenbank anzufassen. Wenn Du das selbst aufgrund fehlenden technischen Wissens nicht leisten kannst empfehle ich, professionelle Hilfe hinzuzuziehen. Sei es ein einzelner Programmierer oder eine Agentur.

Gruß, Niklas

Wie sieht es denn mit einem Workaround aus? Erst die RC Versionen installieren und dann die stable? Das sollte doch möglich sein.

Ich habe jetzt die RC1 mal hochgeladen. Allerdings kann ich das Update nicht über /recovery/update/index.php aufrufen. Es wird mir ein DNS Fehler angegeben.

Moin Bosche,

es gibt leider keinen Workaround. Naja, außer den angesprochenen, die Datenbank manuell anzupassen.

Ein DNS Fehler hat nicht mit shopware zu tun, das klingt eher nach einem Vertipper in der Domain.

Ich empfehle Dir auch dringend, auf Deinem Livesystem jetzt nicht eine verfügbare Version nach der anderen “drüberzubügeln”.
Damit wirst Du mit etwas Pech am Ende eine Art “Frankensteins Monster”-Version von Shopware auf Deinem System haben, die gar nicht mehr zu retten ist.

Die Beta hat Änderungen an der Datenbank gemacht, die später wieder zurückgenommen oder derart geändert werden mussten, dass sie die Datenbank inkompatibel zum RC1 und folgenden Versionen wurde. Es gibt keine Shopware-Version, die die 5.2 Beta auf die 5.2 final update könnte.

Es ist wirklich hier der sinnvollste Weg, die Datenbank manuell anzupassen und dann ein Update durchzuführen.
Auch dann solltest Du allerdings aus oben angeführten Gründen das System als potentiell instabil ansehen.

Gruß, Niklas

Okay… Jetzt habe ich die Problematik verstanden.

Gibt es denn seitens Shopware eine gewisse Hilfe, wie ich die Datenbank manuell anpassen kann? Ich habe den gesamten Inhalt mal gelöscht, aber da Backend und Frontend über die gleiche Datenbank verknüpft sind, kann ich den Updater nicht mehr durchführen.

Gibt es also quasi eine Doku, welche Tabellen entfernt werden müssen, damit das Update durchgeführt wird?

Gruß

@Bosche schrieb:

Gibt es denn seitens Shopware eine gewisse Hilfe, wie ich die Datenbank manuell anpassen kann?

Ja, in der Doku findest Du einen Ansatzpunkt. Grundsätzlich gesagt, Du musst schauen, was die einzelnen Migrationen in der Beta tun und wo es bei Dir fehlschlägt, dann den Fehlergrund beseitigen, z.B. fehlende Felder, überzählige Felder oder welche mit dem falschen Datentyp.

@Bosche schrieb:

 Ich habe den gesamten Inhalt mal gelöscht, […]

Meinst Du damit, dass Du den Inhalt der Datenbank komplett gelöscht hast? In den Fall wären alle Deine Artikel, Einstellungen etc. gelöscht. Ich hoffe mal, Du hast Dich hier nur unglücklich ausgedrückt. Wenn Nein musst Du ein Backup einspielen, bevor Du weiter am Upgrade arbeiten kannst.

Gruß, Niklas 

1 „Gefällt mir“

Habe mich da wohl unglücklich ausgedrückt :wink:

Mir wurde gerade der Vorgang über die s_schema_version erklärt und ich hoffe, dass ich das hinbekomme. Sicher ist das dann nicht die schönste Shopware Version, aber ich muss das gerade einfach irgendwie retten. Dafür steckt bereits zu viel Arbeit in dem System.

Danke für die Hilfe.

 

Und bist du weiter gekommen?

 

Ich hatte es auch mal probiert bei einer Testversion von der 5.2 Beta auf die 5.2 zu updaten. Habs aber dann wieder gelassen, weil man so nie sicher sein kann, dass bei einem späteren Updates nicht wieder was schief geht. 

In deinem Fall bleibt eigentlich nur folgendes:

  • Backup einspielen vom Stand vor dem Update auf die Beta

  • eine neue 5.2er Version aufspielen und die Daten „von Hand“ rüberkopieren

Ich habe das Update zwar einspielen können, aber nur durch skips in der db migration. Gehe daher auch von Problemen bei den folgenden Updates aus. Erstmal muss das System aber laufen. Ein zweites System, wo ich die Artikel etc kopiere kann dann folgen, wenn der Shop online ist.