Update von 4.12 auf 4.13 schlägt fehl
Hi zusammen,
ich versuche gerade, eine Kopie meiner Seite mal von 4.12 auf 4.13 anzuheben. Alle Aktualisierungen im Contao-Manager laufen durch, aber beim Install-Tool bleibt er bei einer Datenbank-Änderung mit einer Fehlerseite "Es ist ein Fehler aufgetreten" hängen:
Zitat:
ALTER TABLE tl_content CHANGE imageUrl imageUrl VARCHAR(2048) DEFAULT '' NOT NULL
Dieser Fehler kommt dann in der Logdatei:
Zitat:
[2022-02-18T11:54:33.488929+01:00] request.INFO: Matched route "contao_install". {"route":"contao_install","route_parameters":{"_ro ute":"contao_install","_scope":"backend","_token_c heck":true,"_controller":"Contao\\InstallationBund le\\Controller\\InstallationController::installAct ion"},"request_uri":"https://domain.de/contao/install","method":"POST"} []
[2022-02-18T11:54:33.805378+01:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs" at /www/htdocs/XXX/contao/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php line 119 {"exception":"[object] (Doctrine\\DBAL\\Exception\\DriverException(code: 1118): An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs at /www/htdocs/XXX/contao/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:119)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 1118): SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs at /www/htdocs/XXX/contao/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:30)\n[previous exception] [object] (PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs at /www/htdocs/XXX/contao/vendor/doctrine/dbal/src/Driver/PDO/Connection.php:34)"} []
Ich habe folgende MariaDB-Konfiguration bei All-Inkl in der Datenbank:
Zitat:
- Server: Localhost via UNIX socket
- Server-Typ: MariaDB
- Server-Version: 10.5.11-MariaDB-1:10.5.11+maria~focal-log - mariadb.org binary distribution
- Protokoll-Version: 10
- Benutzer: XXX@localhost
Das sind die Informationen zur Tabelle tl_content:
Zitat:
Daten |
1,5 |
MiB |
Index |
16,0 |
KiB |
Überhang |
|
|
Effektiv |
1,5 |
MiB |
Insgesamt |
1,5 |
MiB |
Format |
dynamisch |
Optionen |
row_format=DYNAMIC |
Kollation |
utf8mb4_unicode_ci |
Nächster Autoindex |
1.308 |
Erzeugt am |
18. Feb 2022 um 11:54 |
Aktualisiert am |
18. Feb 2022 um 12:28 |
Letzter Check am |
18. Feb 2022 um 12:28 |
Ich habe mir auch die Werte von innodb_large_prefix und innodb_strict_mode ausgegeben lassen:
Zitat:
innodb_large_prefix: on
innodb_strict_mode: off
Weshalb ich dann in der config.yml folgenden Eintrag drin habe:
Code:
doctrine:
dbal:
connections:
default:
default_table_options:
charset: utf8
collate: utf8_unicode_ci
options:
1002: "SET SESSION sql_mode=(SELECT CONCAT(@@sql_mode, ',TRADITIONAL'))"
Meine PHP-Version ist die 7.4.
Was kann ich tun, damit auch diese letzte Anweisung im Install-Tool durchläuft?
Danke schon einmal für Eure Hilfe.