Contao-News
Wir informieren Dich hier regelmäßig zu Updates, stellen Best-Practice-Arbeiten vor und berichten über Aktuelles aus dem Contaoversum.
Contao 4.5.0 verfügbar
von Leo Feyer – Ankündigungen
Contao Version 4.5.0 ist verfügbar.
Bisherige Ankündigungen
- Contao 4.5.0-beta1 verfügbar
- Contao 4.5.0-beta2 verfügbar
- Contao 4.5.0-beta3 verfügbar
- Contao 4.5.0-RC1 verfügbar
Datenbank-Backup – dieses Mal wirklich!
Contao 4.5 nutzt InnoDB als Datenbank-Engine und utf8mb4_unicode_ci als Collation und das Installtool wird versuchen, die Tabellen entsprechend anzupassen. Für den Fall dass diese Anpassung fehlschlägt, ist ein Datenbank-Backup unerlässlich.
Skriptlaufzeit beachten
Um die Collation anzupassen, muss MySQL jedes Textfeld in jedem Datensatz einer Tabelle anpassen. Bei größeren Tabellen mit mehreren tausend Einträgen (Stichwort tl_search_index
) kann die Anpassung länger dauern als das Installtool laufen darf. In so einem Fall kopieren Sie am besten direkt im Installtool die Update-Zeilen, die CONVERT TO CHARACTER SET
enthalten, und führen die Anweisungen manuell aus. Also zum Beispiel:
mysql -e "ALTER TABLE tl_member CONVERT TO CHARACTER SET utf8mb4_unicode_ci"
SQLSTATE[23000]: Duplicate entry
Bei der Umstellung von contao.org hatte ich das Problem, dass eine Tabelle mit einem Unique-Index nicht umgewandelt werden konnte:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '…' for key 'username'
In diesem Fall habe ich den bestehenden Unique-Index in PhpMyAdmin in einen normalen Index umgewandelt und das Tabellen-Update im Installtool erneut angestoßen. Die Tabelle konnte danach aktualisiert werden und der Unique-Index wurde vom Installtool wieder gesetzt.
Siehe auch: Core-Tickets | Versionsvergleich | Core-Changelog | Release-Übersicht
Kommentare
Kommentar von Felix Mößbauer |
Sollte es während des DB Updates zum Fehler `ERROR 1709 (HY000): Index column size too large.`, müssen folgende Optionen in der MySQL / MariaDB Datenbank gesetzt werden:
innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_per_table = ON
Siehe hierzu auch: https://github.com/contao/core/issues/8484#issuecomment-350256170
Einen Kommentar schreiben