Contao-Camp 2024
Ergebnis 1 bis 16 von 16

Thema: BotStatistics Bundle: Installtool läuft nicht durch

  1. #1
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard BotStatistics Bundle: Installtool läuft nicht durch

    Nach dem Update auf Contao 4.9.20 und der erforderlichen Anpassung der config.yml für die Verwenung des "strict mode" läuft das Installtool nicht mehr durch. Das Log meldet folgende Fehler, die anscheinend mit dem Bot-Modul von bugbuster zusammenhängen:
    Code:
    [2021-09-04 10:53:41] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\UniqueConstraintViolationException: "An exception occurred while executing 'CREATE UNIQUE INDEX bot_module_id_bot_date_bot_name ON tl_botstatistics_counter (bot_module_id, bot_date, bot_name)':  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '162-2021-07-05-Google Bot' for key 'bot_module_id_bot_date_bot_name'" at /CONTAOROOT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 74 {"exception":"[object] (Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException(code: 0): An exception occurred while executing 'CREATE UNIQUE INDEX bot_module_id_bot_date_bot_name ON tl_botstatistics_counter (bot_module_id, bot_date, bot_name)':\n\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '162-2021-07-05-Google Bot' for key 'bot_module_id_bot_date_bot_name' at /CONTAOROOT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:74, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '162-2021-07-05-Google Bot' for key 'bot_module_id_bot_date_bot_name' at /CONTAOROOT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '162-2021-07-05-Google Bot' for key 'bot_module_id_bot_date_bot_name' at /CONTAOROOT/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:132)"} []
    Was tun?
    Geändert von Spooky (04.09.2021 um 12:58 Uhr)

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

    Standard

    In der Tabelle tl_botstatistics_counter befinden sich Einträge, die mit dem verwendeten Index unter Verwendung des Strict Modes nicht kompatibel sind - also es würden duplizierte Einträge im Index entstehen. Von welcher Erweiterung ist das?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Contao 4 BotStatistics Bundle von BugBuster.

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

    Standard

    Moderation: Thema verschoben und Titel aktualisiert.

    Melde das Problem vielleicht am besten hier: https://github.com/BugBuster1701/con...-bundle/issues, falls Glen den Thread hier nicht mitbekommt.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Was hat denn der Strict Modus mit einem Unique Index zu tun?
    Wurde bei dem Contao Update auch BotStatistic mit geupdated?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  6. #6
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Hallo BugBuster,
    ja, das Bundle hat ebenfalls ein Update bekommen. Von Dir verwende ich folgende Erweiterungen:
    • Backend User Online 1.0.1
    • Bot Statistiken 1.0.11
    • Download Statistiken 1.3.4

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

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Was hat denn der Strict Modus mit einem Unique Index zu tun?
    Anscheinend werden bei der Umstellung auf den Strict Mode auch die Indexe neu erzeugt. Da kommt es in diesem Fall zu einem Fehler, da es anscheinend mehr als einen Eintrag in der Tabelle gibt, wo bot_module_id, bot_date und bot_name gleich ist.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Mag ja sein, aber den Index gab es vorher ja auch, und unique ist unique.

    Von welcher Contao Version wurde denn auf die 4.9.20 geupdatet? Den den Index gab es von Anfang an in BotStatistics Bundle.

    Nachtrag:
    Falls du in SQL fit bist, anzeigen der doppelten Zeilen die oben an gemeckert wurden:
    Code:
    SELECT
        *
    FROM
        `tl_botstatistics_counter`
    WHERE
        `bot_module_id` = 162 
        AND `bot_date` = '2021-07-05' 
        AND `bot_name` = 'Google Bot'
    Nehmen wir mal an, da kommen dann 2 Zeilen, dann könntest du den Wert von "bot_counter" auf den der zweiten Zeile addieren und die erste Zeile dann löschen.
    Geändert von BugBuster (04.09.2021 um 21:17 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  9. #9
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Das Update lief von 4.9.16 auf 4.9.20.
    Ich habe im BE den Botstatistics Counter auf Null gesetzt - hat aber nicht geholfen.
    Danach ergab die SQL-Abfrage Folgendes:
    Code:
    SELECT * FROM tl_botstatistics_counter WHERE bot_name = 'Google Bot' AND bot_date = '2021-07-05';
    +------+---------------+------------+------------+-------------+
    | id   | bot_module_id | bot_date   | bot_name   | bot_counter |
    +------+---------------+------------+------------+-------------+
    | 6784 |           162 | 2021-07-05 | Google Bot |           0 |
    +------+---------------+------------+------------+-------------+
    1 row in set (0.002 sec)
    Problem bleibt, dass das Installtool nicht durchläuft, sondern sich mit dem nichtssagenden Hinweis "Etwas ist schiefgelaufen" verabschiedet :-(
    Vom Installtool wird Folgendes vorgeschlagen:
    Code:
    Spalten anlegen
    
    Alle auswählen
    
    CREATE UNIQUE INDEX bot_module_id_bot_date_bot_name ON tl_botstatistics_counter (
      bot_module_id, bot_date, bot_name
    )
    
    CREATE UNIQUE INDEX pid_bot_page_alias ON tl_botstatistics_counter_details (pid, bot_page_alias)

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Das ist nun eine weitere Tabelle, da gilt das gleiche, doppeltes finden und eliminieren.
    Finden:
    Code:
    SELECT
        *,
        COUNT(*) AS Anzahl
    FROM
        `tl_botstatistics_counter_details`
    GROUP BY
        `pid`,
        `bot_page_alias`
    HAVING
        COUNT(*) > 1
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Leider ist das für mich kein gangbarer Weg, die MySQL-Tabelle von Hand zu bereinigen. Der AhrefsBot z.B. hat über 600 Einträge, häufig mit Mehrfacheinträgen pro Tag.

    Soll ich das Modul komplett de-installieren und wieder installieren?

    Übrigens ist jetzt auch das BE-User-Online-Modul betroffen: neuerdings zeigt es mir keine BE-User mehr an. Stattdessen kommt die Fehlermeldung:
    Code:
    Internal Server Error
    Was ist das Problem?
    
    An exception occurred while executing 'SELECT tlu.id FROM tl_user tlu, tl_session tls WHERE tlu.id = tls.pid AND tlu.id = '10' AND tls.tstamp > 1631026579 AND tls.name = 'BE_USER_AUTH'': SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dbXXXXXXXXX.tl_session' doesn't exist
    Irgendwas ist beim Update ganz gründlich schiefgelaufen. Wenn ich jetzt von Hand in der MySQL-Datenbank herumfrickle, habe ich Sorge, das ganze System zu zerschießen.

    Hat noch jemand eine Idee, wie ich aus dieser Nummer wieder herauskomme?

  12. #12
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.056
    Contao-Projekt unterstützen

    Support Contao

    Standard

    tl_session? Sollte die in einer Contao 4.9 Version noch existieren? Sicher, dass das ein Update von 4.9.16 auf 4.9.20 war und in der 4.9.16 die tl_session noch existiert hat?

  13. #13
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Palmström Beitrag anzeigen
    Leider ist das für mich kein gangbarer Weg, die MySQL-Tabelle von Hand zu bereinigen. Der AhrefsBot z.B. hat über 600 Einträge, häufig mit Mehrfacheinträgen pro Tag.

    Soll ich das Modul komplett de-installieren und wieder installieren?
    Wenn du dabei auch die Tabellen löscht, dann hilft das. sonst nicht. Dann sind natürlich die Daten weg.
    Oder du löscht nur die mehrfach Zeilen in der Tabelle.
    Und nebenbei: In der alten Installation muss die Installation unvollständig gewesen sein, nur so ist es zu erklären, dass die Unique Indexe nicht angelegt waren. Die gab es bereits in der Contao 3 Version!
    Das führte zu den mehrfach Einträgen, ist also kein Problem der Erweiterung.

    Zitat Zitat von Palmström Beitrag anzeigen
    Übrigens ist jetzt auch das BE-User-Online-Modul betroffen: neuerdings zeigt es mir keine BE-User mehr an. Stattdessen kommt die Fehlermeldung:
    Was ist das Problem?
    Hier musst du die Version 2.x.x installieren, das behebt das Problem, dass ab Contao 4.5 die tl_session Tabelle weggefallen ist.
    Bedeutet auch, dein Update muss von einer älteren Contao Version (<4.5) erfolgt sein.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  14. #14
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Hallo BugBuster,
    danke für die Tipps. Dazu Folgendes:
    • Ich verwende Contao seit Version 2 und versuche, das System halbwegs aktuell auf der jeweiligen LTS zu halten; also z.Z. 4.9.20. Mir war nicht klar, dass die Erweiterungen damit noch lange nicht automatisch auf die neuest möglichen Versionen hochgezogen werden (ich dachte, dass sei u.a. der Sinn des Composers).
    • Backend User Online habe ich auf Version 2.0.4 upgedatet. Jetzt läuft es wieder einwandfrei.
    • Das Bot Detection Bundle habe ich inkl. Tabellen de-installiert und erneut installiert, u.zw. Version 1.7.1. Das Installtool läuft zwar durch, jedoch sehe ich den Menupunkt Botstatistik nicht im BE. Außerdem kann ich bei dem z.B. in der Fußleiste einzufügenden Sub-Modul-Schnipsel nur "Demo1" oder "Demo2" wählen???

  15. #15
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    • Das macht Composer auch, nur nicht wenn es eine neue Major Version gibt. Da diese ja nicht kompatibel sein muss, muss der Nutzer das selber entscheiden
    • Bot Detection Bundle ist nicht Botstatistik Bundle :-)
      Bot Detection Bundle würde als Abhängikeit mit installiert werden.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  16. #16
    Contao-Nutzer
    Registriert seit
    28.11.2018.
    Beiträge
    37

    Standard

    Danke, BugBuster, für die Contao-Nachhilfe
    Bot Detection Bundle ist nicht Botstatistik Bundle :-)
    Das ist, wie mein alter Mathelehrer zu sagen pflegte, "unmittelbar einsehbar".

    Jetzt ist Alles aktuell und läuft wieder so, wie es sollte! FREU!

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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