1. Dashboard
  2. Articles
  3. Forum
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. webEdition Forum
  2. Forum
  3. Deutschsprachiges Support Forum
  4. webEdition Installation & Update

Fehler bei tblContent Änderung im Update von 8.1.6 auf 9.1.6

  • Revilo
  • July 31, 2025 at 2:05 PM
1st Official Post
  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    23
    • July 31, 2025 at 2:05 PM
    • #1

    Guten Tag zusammen,

    wir haben ein komplexeres Projekt von 8.1.1 auf 8.1.6 und schließlich auf 9.1.6 geupdatet.

    Beim Update von 8.1.6 auf 9.1.6 ist ein Fehler aufgetreten als die Struktur der Datenbanktabelle tblContent geändert werden sollten.
    Eine Update-Wiederholung hat daran nichts geändert.

    Ein Problem war, dass der Spalte DocumentTable die enum-Option tblTemporaryDoc gefehlt hat. Das habe ich händisch angepasst und das Update erneut wiederholt. Allerdings wieder ohne Erfolg.

    Im Update-Protokoll steht folgender Fehler:
    (tblContent.sql) Einige Datenbankanfragen konnten nicht durchgeführt werden.: 1062 Duplicate+entry+%27tblFile-32161-%5CxEDO%5CxDF%5Cx0FE%5CxBF%5CxC68P%5D%5Cx01%5CxB5q%5CxCA%5CxBC%5CxA9%27+for+key+%27prim%27 -- ALTER TABLE `tblContent` MODIFY `nHash` binary(16) AS (unhex(md5(`Name`))) PERSISTENT AFTER `Dat` --

    Es scheint als hätte er ein Problem damit die nHash Spalte zu ändern, weil die Einträge dann nicht mehr eindeutig wären.

    Hat jemand eine Idee wie wir das Problem lösen können?


    Viele Grüße

    Oliver

  • Finn
    Administrator
    Reactions Received
    12
    Posts
    295
    • July 31, 2025 at 2:18 PM
    • #2

    Moin Oliver,
    kannst du nochmal PHP-Version und Datenbank-Version ergänzen? Könnte relevant sein.

    https://www.wg-werbeagentur.de

  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    23
    • July 31, 2025 at 2:21 PM
    • #3

    Hey Finn,

    läuft auf PHP 8.1.33 und MariaDB 10.5.23

  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    23
    • July 31, 2025 at 3:13 PM
    • #4

    Mit folgender Abfrage konnte ich mir die Duplikate anzeigen.

    SQL
    SELECT 
      DocumentTable,
      DID,
      MD5(Name) AS md5_hex,
      COUNT(*) AS cnt,
      GROUP_CONCAT(ID ORDER BY ID) AS IDs
    FROM tblContent
    GROUP BY DocumentTable, DID, md5_hex
    HAVING cnt > 1
    ORDER BY DocumentTable, DID

    Das sind 106 doppelte Einträge (=212) und sieht dann so aus:


    Ich würde jetzt hingehen und die Einträge mit der höheren ID behalten (da aktueller) und die mit der kleineren ID entfernen (da älter).

    Oder spricht da etwas dagegen?

    Wie kann sowas überhaupt passieren?

  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    23
    • July 31, 2025 at 3:44 PM
    • #5

    Ich habe mir einzelne Einträge angeschaut.
    Die, die ich mir stichprobenartig angeschaut habe, hatten immer identischen Inhalt.

    Mit folgender Abfrage habe ich dann alle Duplikate einer Duplikatgruppe gelöscht - außer die mit der höchsten ID (da aktuellster Eintrag).

    SQL
    DELETE c
    FROM tblContent c
    JOIN (
      SELECT 
        DocumentTable,
        DID,
        MD5(Name) AS md5_hex,
        MAX(ID) AS KeepID
      FROM tblContent
      GROUP BY DocumentTable, DID, md5_hex
      HAVING COUNT(*) > 1
    ) dup
      ON c.DocumentTable = dup.DocumentTable
     AND c.DID = dup.DID
     AND MD5(c.Name) = dup.md5_hex
     AND c.ID != dup.KeepID
    Display More

    Bei einer Wiederholung des Updates gab es bei der Datenbank-Aktualisierung keine Probleme mehr. Allerdings hängt sich der Update-Prozess bei "Patche ausführen" bei 95% auf und kommt nicht weiter..


    Das Update-Protokoll zeigt keine Fehler an, allerdings findet sich im Fehlerprotokoll folgender Eintrag:

    Error type:
    Code
    Exception
    Error message:
    Code
    Undefined constant "WE_SITE_PATH"
    Script name:
    Code
    SECURITY_REPL_DOC_ROOT/webEdition/we/classes/update/we_update_updater.class.php
    Line number:
    Code
    686

    Hat jemand zu dem neuen Problem eine Idee?

  • e-site
    Student
    Reactions Received
    7
    Posts
    110
    • August 1, 2025 at 9:44 AM
    • #6

    Die Aktualisierungen hast du mit PHP 8.1.33 durchgeführt? In den Systemvoraussetzungen steht: Wichtig: Updates bis zur letzten 9.1.x müssen zwingend unter PHP 7.4 ausgeführt werden!

    Kann es daran liegen? Ich hatte bei einer alten WE7 auch Probleme beim Aktualisieren und erst ein runterschalten der PHP Version hatte geholfen.

  • mokraemer
    Senior Member
    Reactions Received
    13
    Posts
    162
    • August 7, 2025 at 3:05 PM
    • Official Post
    • #7

    Sicher kann es daran liegen.

    Als wir die Updates auf WE 9.0/9.1 geschrieben haben, war php 5.x/7.x Stand der Dinge. Also kann natürlich der Kode von damals Probleme mit neuen Versionen bereiten. U.a. setzen wir mittlerweile auf stärkere Typisierung.

    • Next Official Post
  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    23
    • August 12, 2025 at 10:29 AM
    • #8

    Haben die Umgebung neu aufgesetzt und die Update-Schritte mit den korrekten PHP-Versionen ausgeführt.
    Das Datenbankproblem bestand weiterhin, konnte aber mit den o.g. Fixes behoben werden.

    Der Fehler Undefined constant "WE_SITE_PATH" trat nicht mehr auf.

    Danke euch!

  • mokraemer
    Senior Member
    Reactions Received
    13
    Posts
    162
    • August 15, 2025 at 3:30 PM
    • Official Post
    • #9

    hast du danach eine Updatewiederhlung gemacht, damit auch der DB Index gesetzt werden konnte? Wir verlassen uns da schon auf das Unique der DB.


    Warum es früher zu dem Fehler kam, weshalb Inhalte Doppelt angelegt wurden, kann man schwer beantworten.... Danach sollte es wenigstens (hoffentlich) unmöglich sein.

    • Previous Official Post

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Donations

200.00 EUR

Donate now
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™