Jump to content

SQL Fehler bei Update von 1.6.0.8 auf 1.6.1.13


Recommended Posts

Hallo zusammen,

Wurde von meinem Server zu einem Prestashop Update gezwungen, da Prestashop 1.6.0.8 nicht mit MySQL 5.7 läuft.

Nach dem 1-Click Update auf 1.6.1.13 sind alle Urls kaputt.

Jeder Link ergibt "index.php?controller=404"

Hier meine Seite: www.summit-noten.de

 

Das Update Modul gibt folgende Fehler aus, die ich leider nicht komplett verstehe.

Kann mir jemand weiterhelfen? Mein Shop ist offline:(

SQL 1.6.0.10 1292 in ALTER TABLE `ps_tax_rules_group` ADD `deleted` TINYINT(1) UNSIGNED NOT NULL, ADD `date_add` DATETIME NOT NULL, ADD `date_upd` DATETIME NOT NULL: Incorrect datetime value: '0000-00-00 00:00:00' for column 'date_add' at row 1
SQL 1.6.0.10 1067 in ALTER TABLE `ps_employee` ADD `last_connection_date` date NOT NULL DEFAULT '0000-00-00': Invalid default value for 'last_connection_date'
SQL 1.6.0.11 1064 in ALTER IGNORE TABLE `ps_product` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEFAULT NULL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEFAULT NULL' at line 1
SQL 1.6.0.11 1064 in ALTER IGNORE TABLE `ps_product_attribute` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEFAULT NULL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product_attribute` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEF' at line 1
SQL 1.6.0.12 1067 in ALTER TABLE `ps_product` CHANGE `available_date` `available_date` DATE NOT NULL DEFAULT '0000-00-00': Invalid default value for 'available_date'
SQL 1.6.0.12 1067 in ALTER TABLE `ps_product_shop` CHANGE `available_date` `available_date` DATE NOT NULL DEFAULT '0000-00-00': Invalid default value for 'available_date'
SQL 1.6.0.12 1067 in ALTER TABLE `ps_product_attribute` CHANGE `available_date` `available_date` DATE NOT NULL DEFAULT '0000-00-00': Invalid default value for 'available_date'
SQL 1.6.0.12 1067 in ALTER TABLE `ps_product_attribute_shop` CHANGE `available_date` `available_date` DATE NOT NULL DEFAULT '0000-00-00': Invalid default value for 'available_date'
SQL 1.6.1.0 1055 in REPLACE INTO `ps_tag_count` (id_group, id_tag, id_lang, id_shop, counter) SELECT cg.id_group, t.id_tag, t.id_lang, ps.id_shop, COUNT(pt.id_tag) AS times FROM `ps_product_tag` pt LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag) LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product) INNER JOIN `ps_product_shop` product_shop ON (product_shop.id_product = p.id_product) JOIN (SELECT DISTINCT id_group FROM `ps_category_group`) cg JOIN (SELECT DISTINCT id_shop FROM `ps_shop`) ps WHERE pt.`id_lang` = 1 AND product_shop.`active` = 1 AND EXISTS(SELECT 1 FROM `ps_category_product` cp LEFT JOIN `ps_category_group` cgo ON (cp.`id_category` = cgo.`id_category`) WHERE cgo.`id_group` = cg.id_group AND p.`id_product` = cp.`id_product`) AND product_shop.id_shop = ps.id_shop GROUP BY pt.id_tag, cg.id_group: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ps.id_shop' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
SQL 1.6.1.0 1055 in REPLACE INTO `ps_tag_count` (id_group, id_tag, id_lang, id_shop, counter) SELECT 0, t.id_tag, t.id_lang, ps.id_shop, COUNT(pt.id_tag) AS times FROM `ps_product_tag` pt LEFT JOIN `ps_tag` t ON (t.id_tag = pt.id_tag) LEFT JOIN `ps_product` p ON (p.id_product = pt.id_product) INNER JOIN `ps_product_shop` product_shop ON (product_shop.id_product = p.id_product) JOIN (SELECT DISTINCT id_shop FROM `ps_shop`) ps WHERE pt.`id_lang` = 1 AND product_shop.`active` = 1 AND product_shop.id_shop = ps.id_shop GROUP BY pt.id_tag: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ps.id_shop' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_cart_product` ADD PRIMARY KEY (`id_cart`,`id_product`,`id_product_attribute`,`id_address_delivery`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_cart_product` ADD PRIMARY KEY (`id_cart`,`id_product`,`id_produ' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_customization` ADD KEY `id_cart_product` (`id_cart`, `id_product`, `id_product_attribute`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_customization` ADD KEY `id_cart_product` (`id_cart`, `id_produc' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_image_shop` DROP KEY `id_image`, ADD PRIMARY KEY (`id_image`, `id_shop`, `cover`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_image_shop` DROP KEY `id_image`, ADD PRIMARY KEY (`id_image`, `' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_image_shop` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_image`, `id_shop`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_image_shop` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_image`, `id_' at line 1
SQL 1.6.1.0 1067 in CREATE TABLE `ps_smarty_lazy_cache` ( `template_hash` varchar(32) NOT NULL DEFAULT '', `cache_id` varchar(255) NOT NULL DEFAULT '', `compile_id` varchar(32) NOT NULL DEFAULT '', `filepath` varchar(255) NOT NULL DEFAULT '', `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`template_hash`, `cache_id`, `compile_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8: Invalid default value for 'last_update'
SQL 1.6.1.0 1067 in CREATE TABLE `ps_smarty_last_flush` ( `type` ENUM('compile', 'template'), `last_flush` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8: Invalid default value for 'last_flush'
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_image` ADD UNIQUE KEY `id_product_cover` (`id_product`,`cover`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_image` ADD UNIQUE KEY `id_product_cover` (`id_product`,`cover`)' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_image_shop` ADD UNIQUE KEY `id_product` (`id_product`, `id_shop`, `cover`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_image_shop` ADD UNIQUE KEY `id_product` (`id_product`, `id_shop' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_product_attribute` ADD UNIQUE KEY `product_default` (`id_product`,`default_on`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product_attribute` ADD UNIQUE KEY `product_default` (`id_produc' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_product_attribute_shop` ADD UNIQUE KEY `id_product` (`id_product`, `id_shop`, `default_on`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product_attribute_shop` ADD UNIQUE KEY `id_product` (`id_produc' at line 1
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_product_download` ADD UNIQUE KEY `id_product` (`id_product`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product_download` ADD UNIQUE KEY `id_product` (`id_product`)' at line 1
SQL 1.6.1.0 1292 in UPDATE `ps_product_shop` SET `date_add` = NOW() WHERE `date_add` = "0000-00-00 00:00:00": Incorrect datetime value: '0000-00-00 00:00:00' for column 'date_add' at row 1
SQL 1.6.1.0 1146 in ALTER TABLE `ps_smarty_lazy_cache` CHANGE `cache_id` `cache_id` varchar(255) NOT NULL DEFAULT '': Table 'usr_ud17_311_1.ps_smarty_lazy_cache' doesn't exist
SQL 1.6.1.0 1146 in TRUNCATE TABLE `ps_smarty_lazy_cache`: Table 'usr_ud17_311_1.ps_smarty_lazy_cache' doesn't exist
SQL 1.6.1.0 1064 in ALTER IGNORE TABLE `ps_specific_price` ADD UNIQUE KEY `id_product_2` (`id_cart`, `id_product`,`id_shop`,`id_shop_group`,`id_currency`,`id_country`,`id_group`,`id_customer`,`id_product_attribute`,`from_quantity`,`id_specific_price_rule`,`from`,`to`): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_specific_price` ADD UNIQUE KEY `id_product_2` (`id_cart`, `id_p' at line 1
SQL 1.6.1.2 1146 in TRUNCATE TABLE `ps_smarty_last_flush`: Table 'usr_ud17_311_1.ps_smarty_last_flush' doesn't exist
Warnungen wurden beim Upgrade gefunden.
Edited by Summit (see edit history)
Link to comment
Share on other sites

Es gibt viele Shops, die noch mit Prestashop 1.5 laufen ...

 

1.6.1.13 ist offenbar eben erst erschienen, lese zum ersten Mal davon, vielleicht sollte man etwas warten, ob es damit nicht Probleme gibt. Hier wird als stabilste Version 1.6.1.10 empfohlen.

 

Ob es sich nur um Warnungen (letzte Zeile deines Screenshots) oder tatsächliche Fehler handelt, kann ich nicht sagen, kenne mich da zu schlecht aus. Ich würde aber mal probieren, die .htaccess umzubennen und unter SEO & URLs Friendly URLs zu deaktivieren und wieder zu aktivieren.

Link to comment
Share on other sites

Hi!

Danke für deine Antwort!

Ich hätte gerne noch länger die 1.6.0.8 benutzt aber mein Server hat auf MySQL 5.7 umgestellt und somit ist mein Shop nicht mehr funktionsfähig.... *wut*

 

Die Friendly Urls aus und anschalten hatte ich versucht. Wenn ich auf speichern gehe bekomme ich nur einen weißen Bildschirm und er machts nicht.

Was meinst du mit .htaccess umbenennen genau? (Vielleicht ist das die Lösung)

 

Nochmals Danke fürs Antworten.

Link to comment
Share on other sites

Ich würde aber mal probieren, die .htaccess umzubennen und unter SEO & URLs Friendly URLs zu deaktivieren und wieder zu aktivieren.

Meinst du die Datei .htaccess umbenennen z.B. zu .htaccess2 damit Prestashop eine neue .htaccess anlegt?

 

Mach mal machen wir uns das leben schwerer wie es ist ;) ^^

 

Hast du versucht, was dir @rictools empfohlen hat?

 

Für mich aber noch wichtiger: Gibt es Backups VOR dem Upgrade?

 

Laut deinem Log hast du da nämlich mehrere Probleme, die sich erahnen lassen, wenn man sich Zeile für Zeile mal anschaut. Ein Upgrade über so große Versionen ist generell immer zusätzlich gefährlich. Step by Step. Am besten jedes Update einzeln. Kostet Zeit, kostet bei Firmen Geld, weil sowas eig. System,/-Netzwerkadministratoren machen. Because: Es kann leider sehr viel schief gehen. Den Salat hast du jetzt: Geschäft offline = Kunden bleiben aus etc.

 

Ich befürchte deine Antwort zu kennen auf meine o.g. Frage. Ansonsten > Backup einspielen!

Edited by Lausli (see edit history)
Link to comment
Share on other sites

Hallo Lausli,

 

Ja ich hab ein Backup vor dem Upgrade.

Die alte Version ist aber nicht funktionstüchtig, da mein Server auf MySQL 5.7 gewechselt hat und ich nichts dagegen tun kann.

Um größeren Ärger mit unterschiedlichen Versionen zu umgehen, habe ich das offizielle 1-Click Update Modul benutzt, was mich zur Version 1.6.1.13 bringt.

Link to comment
Share on other sites

Die Friendly Urls aus und anschalten hatte ich versucht. Wenn ich auf speichern gehe bekomme ich nur einen weißen Bildschirm und er machts nicht.

Das geht auch in der Datenbank, der Schlüssel heißt PS_REWRITING_SETTINGS, oder mit Prestools.

 

Soweit ich weiß, wird nach einem Umbenennen die .htaccess neu geschrieben, evtl. auch erst nach dem Wiederaktivieren von Friendly URLs. Jedenfalls ist so ein Umbenennen ein Versuch ohne Risiko, da man die Datei ja jederzeit wieder zurückbenennen kann.

 

Notfalls mußt du das Update rückgängig machen und dann möglichst einen kleineren Schritt updaten.

Link to comment
Share on other sites

Notfalls mußt du das Update rückgängig machen und dann möglichst einen kleineren Schritt updaten.

Das war auch mein Gedanke, aber dann geht der Shop ja nicht mehr, wegen dem MySQL Update. :/

 

@Summit, sorry aber: Was ist das eig. für ein Anbieter der dir einfach sagt "Friss oder Stirb" ? Kenne so ein Verhalten nicht und das zeugt nicht gerade von Kompetenz jemanden einfach so stehen zu lassen.

 

 

Soweit ich weiß, wird nach einem Umbenennen die .htaccess neu geschrieben, evtl. auch erst nach dem Wiederaktivieren von Friendly URLs.

 

Jo

  • .htaccess löschen / umbenennen
  • Freundliche URLS ausschalten
  • Freundliche URLS einschalten
  • Neu geschriebene File

Aber da sind ja noch mehr Probleme, die ich nicht so akzeptieren würde:

SQL 1.6.0.11 1064 in ALTER IGNORE TABLE `ps_product` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEFAULT NULL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `ps_product` CHANGE `ean13` `ean13` BIGINT( 15 ) NULL DEFAULT NULL' at line 1

Du hast öfter mal SQL-Syntax Fehler die zu völlig unbekannten Problemen führen können.

 

Ich befürchte das ganze wird so nicht funktionieren.

Hast du nur das olle FTP Backup vom Upgrade Script oder auch selbst Datenbank updates gemacht?  :unsure:

 

Ich denke mal es gibt für Dich nur einen Weg das ganze noch sauber zu lösen:

  1. Alten Shop, wenn vorhanden (FTP UND DB Sicherung) auf neuen Server einspielen
  2. Schritt für Schritt updaten

Sagt sich jetzt natürlich leichter wie es am Ende ist. 

 

Fakt ist, dass du beim importieren der Datenbank Fehler hast die Du jetzt so nicht lösen kannst.

Das 1-Click Upgrade Tool ist ne feine sache...von 1.6.1.10 auf 1.6.1.11 etc.

Link to comment
Share on other sites

Hallo Summit,

 

ich habe mr einen bishergen Shop gerade mal angeschaut!

 

Es spricht wirklich alles dagegen hier updaten zu wollen, du hättest einen immensen (unnötigen) Aufwand!

Neben den Änderungen an der Datenbank, müsstest du die Rechtssicherheit neu einrichten (EU-Legal läuft  nicht mehr), die Änderungen im Template (Hintergrund) neu machen etc.

 

Prüfe den Vertrag mit deinem Provider, wenn möglich nimmst du ihn in die Pflicht, er soll dir deine bisherige PHP-Version wieder zur Verfügung stellen (technisch sicher kein Problem) und ein Backup deines Shops einspielen.

 

Wenn das aus vertraglichen Gründen nicht möglich ist, miete einen neuen Server, bei dem du die PHP-Version selbst bestimmen kannst und zieh um. Das ist sicherlich die schnellste Möglichkeit deinen Shop wieder online zu bekommen - Voraussetzung ist natürlich daß dein Backup aktuell u. vollständig ist.

 

Grüsse

Whiley

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...