Ergebnis 1 bis 2 von 2

Thema: Datenbank Schema Update - ALTER TABLE tl_content ENGINE = InnoDB ROW_FORMAT = DYNAMIC

  1. #1
    Contao-Nutzer
    Registriert seit
    08.10.2016.
    Beiträge
    22

    Standard Datenbank Schema Update - ALTER TABLE tl_content ENGINE = InnoDB ROW_FORMAT = DYNAMIC

    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!

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Welche MySQL/MariaDB Version?
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •