Contao:4.9.39
Host: Hetzner
PHP: 7.4.33
MariaDB 5.2.0
Hallo Zusammen!
Ich möchte meine Installation auf 4.13 updaten.
Bei der Sicherung etc. ist mir jetzt aufgefallen, dass die Datenbank aktualisiert werden möchte. Ich habe zwei Schema-Änderungen in Dauerschleife:
1. CREATE INDEX pid_ptable_invisible_sorting ON tl_content (pid, ptable, invisible, sorting)
2. ALTER TABLE tl_content ENGINE = InnoDB ROW_FORMAT = DYNAMIC
Der erste Befehlt läuft durch, der Zweite nicht. Allerdings soll ich gleich danach die Spalte auch wieder löschen: DROP INDEX pid_ptable_invisible_sorting ON tl_content
In den Logs finde ich das:
Code:
[2023-02-17 10:05:00] request.INFO: Matched route "contao_install". {"route":"contao_install","route_parameters":{"_route":"contao_install","_scope":"backend","_token_check":true,"_controller":"Contao\\InstallationBundle\\Controller\\InstallationController::installAction"},"request_uri":"https://www.domain.de/contao/install","method":"POST"} []
[2023-02-17 10:05:01] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred while executing 'ALTER TABLE tl_content ENGINE = InnoDB ROW_FORMAT = DYNAMIC': SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline." at /usr/www/users/pfad/pfad/pfad/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 128 {"exception":"[object] (Doctrine\\DBAL\\Exception\\DriverException(code: 0): An exception occurred while executing 'ALTER TABLE tl_content ENGINE = InnoDB ROW_FORMAT = DYNAMIC':\n\nSQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. at /usr/www/users/pfad/pfad/pfad/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:128, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. at /usr/www/users/pfad/pfad/pfad/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. at /usr/www/users/pfad/pfad/pfad/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:141)"} []
Ich hatte schon sämtliche Spalten auf BLOB geändert, das hat aber leider nichts gebracht.
Hat noch jemand eine andere Lösung für mich?
Vielen Dank!
Lesezeichen