Contao 3.5 auf Strato mit InnoDB
Ich fasse mal kurz den aktuellen Stand zusammen.
Strato hat mit der Umstellung auf MySQL 5.6.31 auf InnoDB Datenbanken umgestellt. Ein erstellen von MyISAM Datenbanken ist wegen der fehlenden Engine nicht mehr möglich.
Deshalb blieb immer der Hinweis
Code:
ALTER TABLE `tl_files` ADD KEY `path` (`path`(333));
bestehen.
Auf meinen Hinweis bei Strato, dass durch die Änderung die Länge für den Index nicht ausreicht, hat Strato Ende letzter Woche oder Anfang dieser Woche eine Veränderung vorgenommen. Ich kann sehen, das innodb_large_prefix aktiviert ist.
Leider gibt es jetzt aber eine Fehlermeldung:
Code:
Fatal error: Uncaught exception Exception with message Query error: Index column size too large. The maximum column size is 767 bytes. (ALTER TABLE `tl_files` DROP INDEX `path`, ADD KEY `path` (`path`(333));) thrown in system/modules/core/library/Contao/Database/Statement.php on line 295
Siehe dazu auch https://github.com/contao/core/issues/8484
Gleiche Fehlermeldung bei tl_search mit unangenehmen Folgen
Hallo,
also bei mir ist das Problem auf einem Strato-Server aktuell beim Update auf Contao 3.5.18 aufgetreten.
Ich habe, dem o.g. Rat folgend, die tl_files auf DYNAMIC gesetzt, wodurch die Aktualisierung funktionierte.
Anschließend erschien die gleiche Fehlermeldung aber noch einmal im Zusammenhang mit der Tabelle tl_search.
Hier funktionierte die Aktualisierung interessanterweise auch ohne, dass ich die Tabelle auf DYNAMIC gesetzt habe.
Beim Neuaufbau des Suchindexes wurden jedoch nur noch die URLs einer meiner Domains (ich betreibe die Installation als Multidomain) als indiziert (also grün) markiert.
Sämtliche URLs der zweiten Domain wurden rot und mit [0] vorweg dargestellt, also z.B. [0] http://www.zweitedomain.de.
Auch das Einloggen ins Backend über die zweite Domain brachte keine Lösung.
Zwar wurden nun sämtliche URLs der ersten Domain rot und mit [0] markiert, der Aufbau der URLs der zweiten Domain funktionierte aber auch nicht.
Hier erschien keine Fehlermeldung, aber das Ladesymbol drehte und drehte sich eine halbe Ewigkeit, bis ich den Prozess dann abgebrochen habe.
Unter 3.5.14 funktionierte der Neuaufbau des gesamten Suchindexes beider Domains noch schnell und problemlos.
Ich habe dann tl_search ebenfalls auf DYNAMIC gesetzt, aber danach funktionierte der Neuaufbau gar nicht mehr und sämtliche URLs wurden rot dargestellt.
Also habe ich die Installation noch einmal auf den alten Stand gesetzt und nun gleich tl_search auf DYNAMIC gesetzt mit der Folge, dass statt [0] bei der ersten URL [500] stand und sich das Ladesymbol danach wieder ewig drehte.
Dieses Problem scheint also für Stratokunden doch etwas dramatischer zu sein.
Natürlich könnte man die Aktualisierung der Tabellen unterlassen, aber es ist doch irgendwie unschön, wenn dort permanent eine Aktualisierungsmeldung auftaucht, die man ignorieren muss.
Außerdem habe ich für meinem Kunden gerade einen Live-Update-Schlüssel zwecks eigenständiger Systemaktualisierung erworben und es ist nur eine Frage der Zeit, bis ihm das System um die Ohren fliegt, weil er versehentlich doch die Tabellen aktualisiert.
Viele Grüße
Jay