Shopware 5 Updatehölle (5.5.4) PHP 7.4

Hallo zusammen,

ich muss ein altes Shopware 5.5.4 ein wenig updaten, damit zumindest PHP 7.4 läuft. Aktuell laufen die 5 Shops leider nur mit PHP 7, was am 3.1 beim Provider abgeschaltet wird. Also leider ein kleiner Notfall :frowning:

Glaube Version 5.7 reicht schon. Leider schlägt das hart fehl… Der Updater sagt beim DB Update ständig das irgendwelche Spalten bereits existieren oder fehlen. Auch wenn ich nur einen kleinen Sprung mache. z.B. 5.5.7

Interessanter Weise hat er heute früh das Update auf 5.5.6 gemacht…darauf hin bin ich weiter auf 5.7.x und das hat abgebrochen. Seit dem hänge ich…
z.B.

Error
Received the following error message:
Could not apply migration (Migrations_Migration113). Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'filters' in 'field list'

Please try to fix this error and restart the update.

Diese Spalte gibt es in s_core_config_elements nicht. Woher kommt die?

Wie bekomme ich denn die Struktur von 5.5.4 erst mal wieder sauber? Oder was macht man in dem Fall?

Help! :slight_smile:

VG Frank

Hab jetzt mal in die default install Datei einer frischen Installation geschaut. Dort gibts die Spalte auch nicht

DROP TABLE IF EXISTS `s_core_config_elements`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `s_core_config_elements` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `form_id` int(11) unsigned NOT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `value` text COLLATE utf8_unicode_ci,
  `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8_unicode_ci,
  `type` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `required` int(1) unsigned NOT NULL,
  `position` int(11) NOT NULL,
  `scope` int(11) unsigned NOT NULL,
  `options` blob,
  PRIMARY KEY (`id`),
  UNIQUE KEY `form_id_2` (`form_id`,`name`),
  KEY `form_id` (`form_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1060 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

Füge ich diese Spalte von Hand ein, wird direkt die nächste angemeckert. Füge ich diese auch noch hinzu hängt er an der nächsten Stelle… argh

Bis dahin ist es fast unmöglich bei komplexeren Installationen dies zu aktualisieren. Ich hoffe der Provider hat rechtzeitig dich/euch gewarnt dass es zum Stichtag abgeschaltet wird. Ist jetzt schon sehr spät. Ggf. etwas Geld hinlegen und eine Agentur beauftragen oder hier den Job posten: Job Posting - Shopware Community Forum

Ich kann dir leider wenig Mut machen, da auch andere Provider jetzt oder sehr bald PHP 7.x nicht mehr unterstützen. 7.4 wurde Ende 2022 eingestellt: PHP: Supported Versions

Ein Wechsel zu Shopware 6 ist nicht geplant oder bereits in der Umsetzung?

Hey,

Wie bekomme ich denn die Struktur von 5.5.4 erst mal wieder sauber? Oder was macht man in dem Fall?

Backup einspielen.

Ansonsten würde ich lokal Stück für Stück Shopware updaten(immer wieder Backups) bis auf die gewünschte PHP Version und dann wieder einspielen. Und damit mein ich wirklich alle kleinen Versionen mitnehmen.

Die s_core_config_elements sind bekannt dass sie immer wieder mal Probleme machen, zu mindestens kenn ich es so.

Wenn du magst, meld dich gerne mal

Grüße

Hast Du mal versucht von 5.5 auf 5.6 zu springen oder immer direkt auf 5.7?
Wir hatten damals auch immer Probleme wenn wir versucht hatten ein Major zu überspringen. (Hat sich bei 6 auch nicht geändert)

1 „Gefällt mir“

Hello zusammen,

ich habe ein Backup vom Tag vorher eingespielt. Da war die DB dann wieder sauber. Aber auch erneute Update-Versuche sind fehlgeschlagen. Ich weiss nicht mehr weiter und lass es jetzt so.

Shopware 6 ist leider keine Option weil Shopware das Modul Custom Products nicht mehr für normal sterbliche Menschen einzeln anbietet sondern nur noch im 600€ Abo monatlich… Wir wechseln jetzt das Shopsystem komplett.

Danke dennoch für die Antworten.

VG Frank

Moin,
ärgerlich aber verständlich. Ich kenne eure Anforderungen zwar nicht, aber gibt diverse Plugins für custom products im Store die deutlich unter 600 Euro liegen.

Ich habe 3-4 getestet aber keins kann die Anforderung erfüllen. Es gibt ein „neues“ Custom Products", das fast gereicht hätte…dort kann man aber (noch) keine Aufschläge für diverse Optionen definieren und das braucht es.

Mit dem normalen Variantenmanagement von Shopware ist es leider nicht abzubilden. Da bekommt jeder Artikel zirka 4800 Varianten. Das ist nicht handlebar als Admin und erst recht nicht für den Kunden.

Wenn deine Anforderungen so individuell und speziell sind, dass keines der verfügbaren Plugins (inkl. Custom products) diese (vollständig) abdeckt, dann würde ich behaupten, dass du bei einem anderen Shopsystem vor dem gleichen Problem stehen wirst. Evtl. solltet Du mal an individuelle (kostenpflichtige) Erweiterungen der verfügbaren Plugins (oder eine komplett eigene Entwicklung) nachdenken. Naja, oder nochmal über deine Anforderungen nachdenken.

Viele Grüße

Die Anforderungen sind leider fix. Wir haben schon einiges getestet und versucht es zu vereinfachen aber es sind einfach stark konfigurierbare Produkte, die unterschiedliche Aufpreise beinhalten.

Das Shopware Modul „Custom Products“ hat das Ganze super abgebildet…damals war das ein einmal Kauf von 500€. Wir würden es gerne als Mietmodell nehmen…für Shopware 5 sind das aktuell 150€ im Jahr. Auch voll ok! Aber 600€ monatlich für den RISE Plan sind einfach utopisch im Vergleich zu den Umsätzen dieses Shops. 95% vom restlichen RISE Plan benötigen wir gar nicht… schade das diese Policy so geändert wurde.

Aber ist wie es ist…so wird es halt ein anderes Shopsystem.

Wenn das für dich sinnvoller und kostengünstiger ist - als z.B. die kostenpflichtige Erweiterung des „neuen“ custom products, vom dem du gesprochen hast - dann solltest du das wohl tun. Viel Erfolg und alles Gute!

Viele Grüße

Wirklich sehr komisch, denn ich habe in keiner CE oder PE-Version die Spalten filters und validators und ich habe einige SW5 Shops noch als Backup oder Live wo ich reinschauen kann.

Ich persönlich würde folgendes tun:

Vor dem Update das SQL per Hand durchführen, dann die Funktion Migration113 (113-adds-performance-sql.php) auskommentieren und das normale Update durchlaufen lassen. Die Werte die hier eingetragen werden, werden benötigt.

INSERT IGNORE INTO `s_core_config_elements`
  (`name`, `value`, `label`, `description`, `type`, `required`, `position`, `scope`, `options`)
VALUES
('topSellerActive', 'i:1;', '', '', '', 1, 0, 0, ''),
('topSellerValidationTime', 'i:100;', '', '', '', 1, 0, 0, ''),
('topSellerRefreshStrategy', 'i:3;', '', '', '', 1, 0, 0, ''),
('topSellerPseudoSales', 'i:1;', '', '', '', 1, 0, 0, ''),
('seoRefreshStrategy', 'i:3;', '', '', '', 1, 0, 0, ''),
('searchRefreshStrategy', 'i:3;', '', '', '', 1, 0, 0, ''),
('showSupplierInCategories', 'i:1;', '', '', '', 1, 0, 0, ''),
('propertySorting', 'i:1;', '', '', '', 1, 0, 0, ''),
('disableShopwareStatistics', 'i:0;', '', '', '', 1, 0, 0, ''),
('disableArticleNavigation', 'i:0;', '', '', '', 1, 0, 0, ''),
('similarRefreshStrategy', 'i:3;', '', '', '', 1, 0, 0, ''),
('similarActive', 'i:1;', '', '', '', 1, 0, 0, ''),
('similarValidationTime', 'i:100;', '', '', '', 1, 0, 0, '');

Vorher natürlich immer ein Backup machen.

Danke für die Rückmeldung. Ich konnte schon ein Backup vom Tag vorher einspielen. Jetzt läufts auf dem alten Stand und wird nicht mehr angefasst bis der neue Shop steht.