Ergebnis 1 bis 10 von 10

Thema: Gelöst: Install meldet Fehler bei Update DB

  1. #1
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    48

    Standard Gelöst: Install meldet Fehler bei Update DB

    Hallo,

    Contao 4.9.29 mit Theme Constructeur, php Version 7.4.x

    Beim Update folgender Tabellenänderungen
    ALTER TABLE tl_search CHANGE url url VARCHAR(2048) DEFAULT '' NOT NULL COLLATE `ascii_bin`
    ALTER TABLE tl_search CHANGE title title TEXT DEFAULT NULL

    erfolgt ein Abbruch der DB Aktualisierung. Im Logfile steht folgender Eintrag ...
    [2022-05-20 18:48:23] 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://www.marcher-wirtschaftskreis.de/contao/install","method":"POST"} []
    [2022-05-20 18:48:23] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred while executing 'ALTER TABLE tl_search CHANGE url url VARCHAR(2048) DEFAULT '' NOT NULL COLLATE `ascii_bin`': SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes" at /homepages/36/d153470734/htdocs/cms/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_search CHANGE url url VARCHAR(2048) DEFAULT '' NOT NULL COLLATE `ascii_bin`':\n\nSQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /homepages/36/d153470734/htdocs/cms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:128, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /homepages/36/d153470734/htdocs/cms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /homepages/36/d153470734/htdocs/cms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:141)"} []


    Die config.yml beinhaltet ...
    doctrine:
    dbal:
    connections:
    default:
    options:
    1002: "SET SESSION sql_mode=(SELECT CONCAT(@@sql_mode, ',TRADITIONAL'))"
    default_table_options:
    charset: utf8
    collate: utf8_unicode_ci
    engine: MyISAM
    contao:
    prepend_locale: true


    Woran kann das Problem liegen?
    Geändert von hpt (16.06.2022 um 13:51 Uhr)

  2. #2
    Contao-Urgestein Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    9.525
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Prinzipiell ein Fehler in Contao, der bei einer nicht so optimalen Serverkonfiguration passiert. Bei deinem Server/Hosting ist die Datenbankeinstellung innodb_large_prefix nicht aktiv. Siehe auch https://github.com/contao/contao/issues/4615

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

    Standard

    Hier ist auch ein Workaround für betroffene Umgebungen: https://github.com/contao/contao/pul...ent-1122098735
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Nutzer Avatar von kretschi
    Registriert seit
    19.06.2009.
    Ort
    Ulm
    Beiträge
    98

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hier ist auch ein Workaround für betroffene Umgebungen: https://github.com/contao/contao/pul...ent-1122098735
    ich habe

    PHP-Code:
    // contao/dca/tl_search.php
    $GLOBALS['TL_DCA']['tl_search']['fields']['url']['sql'] = "varchar(767) COLLATE ascii_bin NOT NULL default ''"
    in die system/config/localconfig.php eingetragen. Leider kann ich die Datenbank nicht aktualisieren - war ein Update aus 4.9.19 auf 4.9.30. Fehler mit oder ohne der $GOBALS Variable identisch:

    Code:
    [2022-06-04 13:19:31] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred while executing 'ALTER TABLE tl_search CHANGE url url VARCHAR(2048) CHARACTER SET ascii DEFAULT '' NOT NULL COLLATE `ascii_bin`':  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes" at /home/user/meinedomain.de/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_search CHANGE url url VARCHAR(2048) CHARACTER SET ascii DEFAULT '' NOT NULL COLLATE `ascii_bin`':\n\nSQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /home/user/meinedomain.de/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:128, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /home/user/meinedomain.de/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes at /home/user/meinedomain.de/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:141)"} []
    Die Version der Datenbank laut phpMyAdmin ist:

    Code:
    Server-Typ: MariaDB
    Server-Verbindung: SSL wird nicht verwendet Dokumentation
    Server-Version: 10.3.34-MariaDB-log-cll-lve - MariaDB Server
    Protokoll-Version: 10
    Hoster serverprofis.de - keine Eingriffsmöglichkeit meinerseits auf diese Einstellung (mir wäre das lieber statt ein Workaround)

    Habe noch bisschen gegoogelt und auf der mariaDB Webseite steht, als wäre diese Option in der Version 10.3 "removed" und wieder in 10.4. drin? Um dann wieder in 10.6. zu verschwinden. Verstehe ich das richtig?
    https://mariadb.com/kb/en/innodb-sys...b_large_prefix
    Gruß kretschi

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

    Standard

    Wie der Kommentar schon sagt gehört das in den Pfad contao/dca/tl_search.php

    Danach musst du außerdem den Symfony Application Cache neu aufbauen.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Nutzer Avatar von kretschi
    Registriert seit
    19.06.2009.
    Ort
    Ulm
    Beiträge
    98

    Standard

    habe die Datei sowohl unter contao/dca/tl_search.php als auch unter app/Ressources/contao/dca/tl_search.php angelegt und die $GLOBALS hinzugefügt (das ist eine ältere Website die von CTO4.4 auf 4.9. (schon länger her) upgedatet wurde.

    leider bekomme ich nach dem "Prod.cache erneuern" oder "Prod-cache leeren" beim Versuch die DB zu aktualisieren über das Installtool immer noch die gleiche Fehlermeldung.
    Habe den Support wg. der Datenbank angeschrieben - aber denke nicht, dass ich viel erreichen werde.
    Gruß kretschi

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

    Standard

    Poste den Inhalt deiner contao/dca/tl_search.php
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Contao-Nutzer Avatar von kretschi
    Registriert seit
    19.06.2009.
    Ort
    Ulm
    Beiträge
    98

    Standard

    die Datei besteht nur aus folgendem Inhalt:
    PHP-Code:
    // contao/dca/tl_search.php 
    $GLOBALS['TL_DCA']['tl_search']['fields']['url']['sql'] = "varchar(767) COLLATE ascii_bin NOT NULL default ''"
    Gruß kretschi

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

    Standard

    Hast du evt. das Beginnende <?php vergessen?
    » sponsor me via GitHub or PayPal or Revolut

  10. #10
    Contao-Nutzer Avatar von kretschi
    Registriert seit
    19.06.2009.
    Ort
    Ulm
    Beiträge
    98

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hast du evt. das Beginnende <?php vergessen?
    genau das war’s
    Danke! Manchmal sieht man vor lauter Bäume den Wald nicht mehr
    Gruß kretschi

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
  •