# Testumgebung / Updatefehler

**URL:** <https://forum.shopware.com/t/testumgebung-updatefehler/15355>\
**Category:** Shopware 3.5\
**Tags:** installation--gettin\
**Created:** [3. September 2013 um 10:56 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355 "2013-09-03T10:56:51Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [3. September 2013 um 10:56 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/1 "2013-09-03T10:56:51Z")

</div>

Hallo, ich habe nun schon mit dem zweiten Kunden, welcher SW3.5 im Einsatz hat große Probleme bei Update auf 4. Gibt es Probleme, wenn ich die SW3.5 DB kopiere und in einer Testumgebung wieder zum Laufen bringe. Das SQL Update läuft dann nicht durch. Fehler über Fehler. U.A. Das Datenbank-Update konnte nicht abgeschlossen werden. Ein Fehler beim Import der Datei " deltas/0-start.sql" ist aufgetreten. [HY000] Can’t create table ‘d01800ef.new\_s\_articles\_attributes’ (errno: 150) Das ist ein Foreign Key Problem. Wie kann ich so was zukünftig lösen. Ist recht nervig. Hat jemand eine Idee? Danke

---

<div class="post-metadata">

**Author:** ![billyb52](https://avatars.discourse-cdn.com/v4/letter/b/8dc957/32.png) [@billyb52](https://forum.shopware.com/u/billyb52)\
**Post date:** [3. September 2013 um 14:50 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/2 "2013-09-03T14:50:47Z")

</div>

Hallo, Ablauf bzgl. Import der DB lokale Installation (Xampp oder Uwampp): - php.ini die max\_execution\_time auf 30 Minuten setzen damit es komplett durchlaufen kann - Jetzt ein Update nach dem anderen einspielen Sollte das nicht funktionieren, bei mir hat es ab der Version 4.0.8 auf die 4.1 nicht geklappt, dann bleibt dir nur eine Neuinstallation über. (Sprich aus dem alten Shop alles exportieren was nur geht und nach der Neuinstallation alles importieren)

---

<div class="post-metadata">

**Author:** ![hth](https://avatars.discourse-cdn.com/v4/letter/h/b77776/32.png) [@hth](https://forum.shopware.com/u/hth)\
**Post date:** [3. September 2013 um 17:31 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/3 "2013-09-03T17:31:44Z")

</div>

Hallo, welche StorageEngine verwenden denn die alten 3.5er? Am einfachsten ist es wahrscheinlich, die ForeignKeys der betroffenen Tabellen vor dem Update zu entfernen. Die theoretische Gefahr, dass die Integrität des Datenbestandes dann nicht mehr gewährleistet ist, muss man wohl in Kauf nehmen. Auf der anderen Seite scheint die ja auch nicht mehr gegeben zu sein. Man kann natürlich auch in der 3.5er Datenbank die ForeignKeys neu aufbauen lassen und dann die Migration versuchen. Edit: Mir ist da gerade eingefallen, dass ich im Frühjahr schon einen Beitrag dazu geschrieben habe. Dort war es die Storage Enginge. Ich habe gerade einen Blick in die Deltas geworfen start0.sql. Die new\_s\_articles\_attributes „referenziert“ die s\_articles\_details . Die wird aber erst später umgestellt und ist dann sicher InnoDB. Wenn die alte Version kein Innodb verwendet, dürfte es der Grund für den Fehler sein. Dann muss man die Reihenfolge der Backups/Umbenennung der Tabellen einfach ändern und die Tabellen auf die „referenziert“ wird, vorab umstellen. Alternativ die alten Versionen auf InnoDB umstellen. s\_articles ist zu dem Zeitpunkt der Fehlermeldung ja bereits neu und macht daher keine Probleme bei den Foreign Keys. Ist nicht getestet. Viele Grüße H. Thomas Viele Grüße [quote=„ottscho“]Hallo, ich habe nun schon mit dem zweiten Kunden, welcher SW3.5 im Einsatz hat große Probleme bei Update auf 4. Gibt es Probleme, wenn ich die SW3.5 DB kopiere und in einer Testumgebung wieder zum Laufen bringe. Das SQL Update läuft dann nicht durch. Fehler über Fehler. U.A. Das Datenbank-Update konnte nicht abgeschlossen werden. Ein Fehler beim Import der Datei " deltas/0-start.sql" ist aufgetreten. [HY000] Can’t create table ‚d01800ef.new\_s\_articles\_attributes‘ (errno: 150) Das ist ein Foreign Key Problem. Wie kann ich so was zukünftig lösen. Ist recht nervig. Hat jemand eine Idee? Danke[/quote]

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [3. September 2013 um 19:26 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/4 "2013-09-03T19:26:20Z")

</div>

Hi, Danke für die AWs. Wenn ich die DB lokal importiere, so klappt das update. Bei dem letzte Kunden habe ich dies so gemacht und die DB dann wieder hochgespielt. Jetzt habe ich aber eine DB, welche im gezippten Zustand schon 55MB hat. Diese nach dem Update dann wieder einspielen geht schief. Eine SSH Console steht icht zur Verfügung. Allgemein nervt es ziemlich. Wenn ich über PHPMYADMIN die DB direkt kopiere 1zu1 verstehe ich nicht, warum dies dann nicht funktioniert. Wie lösche ich die Forein Keys? Das Update ist von 3.5.6 auf 4.0.4 (bzw. das Betra Script direkt auf 4.1.2). \>Die new\_s\_articles\_attributes “referenziert” die s\_articles\_details . Die wird aber \>erst später umgestellt und ist dann sicher InnoDB. Wenn die alte Version kein Innodb \>verwendet, dürfte es der Grund für den Fehler sein. Richtig. Das ist der Fall. (Ist ja eig. ein Fehler des Scripts). Habe ich auch schon probiert. Leider zieht sich dies zielich durch, so dass ich erst Update für Update anschauen muss. Ich habe auch schon versucht alel Tabellen umzustellen: SELECT CONCAT(‘ALTER TABLE `',table_schema,'`.`', table_name,'` engine=InnoDB;’) FROM information\_schema.tables WHERE engine = ‘MyISAM’ AND table\_schema = ‘shopware\_db’; Das klappt so leider nicht. D.h. ist muss wohl Update für Update einsipelen und bei Fehlern immer die Referenz beachten.

---

<div class="post-metadata">

**Author:** ![hth](https://avatars.discourse-cdn.com/v4/letter/h/b77776/32.png) [@hth](https://forum.shopware.com/u/hth)\
**Post date:** [3. September 2013 um 20:14 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/5 "2013-09-03T20:14:43Z")

</div>

Hallo, ich finde nur 36 Stellen in 3 files mit constraint als Suchbegriff. Das sollte sich doch leicht in den Griff bekommen lassen. Ich finde es zumindest bei der Tabellenanzahl vollkommen im Rahmen eines DB-UPdates zwischen Major-Versionen. Klar: ein Klick ist es nicht mehr und man kann schon darüber diskutieren, ob dies am Anfang mit den s\_article Tabellen nicht geändert werden könnte. Auf der anderen Seite werden die Autoren von einer Standard-Shopware-Installation ausgegangen sein, nehme ich an. Alle Tabellen auf einen Streich nach InnoDB zu konvertieren, ist nicht unbedingt eine gute Idee. Man kann da auch etwas kaputt machen. Ich würde mich schon von Fehler zu Fehler hangeln. Bleibt die Frage, warum die alten Datenbanken so aussehen und man nicht noch mehr Überaschungen erlebt. Lange Rede kurzer Sinn: Fix jede Stelle einzeln! @Datebankgröße: Nimm ein anderes Tool, HeidiSQL etc. , dann kann man doch den ganzen Update-Prozeß bequem local durchführen und anschließend auch große Datenbanken importieren. Ohne SSH sind die SKriptlimits auch bestimmt mies und werden Probleme bei dem Update erzeugen. Aber was ist das für ein Hosting-Paket, ss gibt ssh-Zugang doch schon für rund 10 Euro pro Monat? SELECT table\_name FROM INFORMATION\_SCHEMA.TABLES WHERE engine \<\> ‚InnoDB‘ könnte gehen. Aber da kann man bestimmt nicht drauf zugreifen. Sollte der concat nicht so aussehen? SELECT CONCAT('ALTER TABLE ‚, table\_name, ’ ENGINE=InnoDB;‘) Eigentlich ist es aber keine schlechte Idee, eine Kopie zu machen und dort den Engine zu ändern, wie Shopware es tut. Keine Überprüfung der referential constraints: SET FOREIGN\_KEY\_CHECKS = 0; Sinn der Sache ist das aber nicht!

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [4. September 2013 um 08:50 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/6 "2013-09-04T08:50:07Z")

</div>

Hi Thomas, vielen Dank für deine Hilfe. Hat alles geklappt 🙂

---

<div class="post-metadata">

**Author:** ![hth](https://avatars.discourse-cdn.com/v4/letter/h/b77776/32.png) [@hth](https://forum.shopware.com/u/hth)\
**Post date:** [4. September 2013 um 09:04 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/7 "2013-09-04T09:04:44Z")

</div>

[quote=„ottscho“]Hi Thomas, vielen Dank für deine Hilfe. Hat alles geklappt :)[/quote] Wie denn jetzt genau? Ich könnte da auch noch einen Erfahrungsbericht für die Migration von 3.5 mit Varianten gebrauchen. Funktioniert das problemlos? Es stand auch noch eine Frage bzgl. Löschen den ForeignKeys aus: 1. Man kann die Tabelle einfach ohne ForeignKey Constraints kopieren und die anschließend per ALter Table neu setzen. CREATE TABLE table\_name\_new LIKE table\_name\_old; INSERT INTO table\_name\_new SELECT \* table\_name\_old; Anschließend muss man die constraints alle per Hand setzen. 2. Auch Handarbeit, weil man die fk\_symbol alle suchen muss oder eben suchen lässt und die Liste dann übernimmt. ALTER table\_name DROP FOREIGN KEY fk\_symbol Viele Grüße Holger Thomas ([info@mycetome.de](mailto:info@mycetome.de))

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [4. September 2013 um 11:58 UTC](https://forum.shopware.com/t/testumgebung-updatefehler/15355/8 "2013-09-04T11:58:14Z")

</div>

Ich hatte in den Updates 0 und 1 die Reihenfolge der betroffenen Tabellen geändert. So das der Vorang zuerst gemacht wurde, bevor die Tabelle erstellt wird. Evtl. sollte dies Shopware im Script bedenken. Hatte dies nun schon 2 Mal. Ich denke es liegt daran, da diese Installationen schon ziemlich alt sind. Sprich von SW 3.0.x mitgezogen wurde… Danke dir.
