Update auf Joomla 4 wird durchgeführt endet aber mit Fehler "JInstaller: :Install: SQL-Fehler Duplicate entry '1' for key 'PRIMARY'"

  • Danke JoomlaWunder und Elwood. Schau ich mir mal an und werde mal intensiv überlegen. Würde mir spontan gut gefallen.

    Die joomla_update.php habe ich gefunden. Sie liegt in der Original(!)-Installation unter dem Verzeichnis /log. :rolleyes:

    Die letzten Einträge besthen hauptsächlich aus DB-queries. Der letzte sieht mir etwas verdächtig aus:


    2021-11-02T15:01:43+00:00 INFO 94.31.98.244 update Abfrage von Datei „4.0.0-2018-05-15“. Abfrage: „CREATE TABLE IF NOT EXISTS `#__workflows` ( `id` int NOT NULL AUTO_INCREMENT, “.

  • Deshalb meine Frage:


    Wo sind wir? Joomla 3 oder schon Joomla 4?

    Ich bin mit meiner "normalen" Webseite noch auf Joomla 3. Das Testupdate auf Joomla 4 hatte grundsätzlich funktioniert, die Installation ist aber nicht wirklich brauchbar. Im backend fehlt einiges an Funktionen (z.B. kann ich im Dashboard nichts hinzufügen), versuche ich einen Artikel aufzurufen, bekomme ich

    Es ist ein Fehler aufgetreten!

    500 Unknown column 'fp.featured_up' in 'field list'



    Der Aufruf des Frontends endet mit:

    Es ist ein Problem aufgetreten.

    The server returned a "500 - Whoops, looks like something went wrong."

  • 2021-11-02T15:01:43+00:00 INFO 94.31.98.244 update Abfrage von Datei „4.0.0-2018-05-15“. Abfrage: „CREATE TABLE IF NOT EXISTS `#__workflows` ( `id` int NOT NULL AUTO_INCREMENT, “.

    Diese Meldung verweist auf das SQL-Script "4.0.0-2018-05-15", liegt bei dir irgendwo im ../../sql/updates/mysql - Verzeichnis. Das ist ein Script von ca. 30, das die DB- und Tabellenstruktur anpassen muss. Erst, wenn ein Script fehlerfrei durchläuft, wird das nächste Script ausgeführt.
    Du solltest jetzt folgendes machen:

    - Backup einspielen
    - in der DB die Tabelle #_workflows löschen

    - Upgrade durchführen

    - und das bei jeder Fehlermeldung.

    - und natürlich in lokaler Umgebung


    Deaktivieren bedeutet nicht deinstallieren.

    Du musst die Erweiterungen schon deinstallieren. Habe ich jedenfalls festgestellt.

    Gruß Jürgen

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von jsc_01 mit diesem Beitrag zusammengefügt.

  • Dann poste doch nochmal, welche Warnungen bei J3 erscheinen, wenn du auf J4 migrieren willst.

    Meinst du den kompletten Inhalt der "Installationsprüfung auf Joomla 4". Da stehen ja auch alle "nur" deaktivierten drin. Müssen die "deaktivierten" denn jetzt wirklich "deinstalliert" werden. Zero24 meint in diesem Beitrag, deaktivieren würde reichen RE: logfile bei Migration von Joomla 3 auf Joomla 4


    Diese Meldung verweist auf das SQL-Script "4.0.0-2018-05-15", liegt bei dir irgendwo im ../../sql/updates/mysql - Verzeichnis. Das ist ein Script von ca. 30, das die DB- und Tabellenstruktur anpassen muss. Erst, wenn ein Script fehlerfrei durchläuft, wird das nächste Script ausgeführt.
    Du solltest jetzt folgendes machen:

    - Backup einspielen
    - in der DB die Tabelle #_workflows löschen

    - Upgrade durchführen

    - und das bei jeder Fehlermeldung.

    - und natürlich in lokaler Umgebung

    Du siehst mich jetzt etwas ratlos. Die ersten 3 Punkte verstehe ich so:

    1. ein backup der Original-Installation auf eine leere (Sub-)Domain mit kickstart.php zurücksichern

    2. in PHPMyAdmin in der zugehörigen Datenbank die Tabelle # workflows löschen

    3. Update auf Joomla 4 durchführen

    Punkt 4 und 5 verstehe ich leider nicht

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von Reigi mit diesem Beitrag zusammengefügt.

  • 1. ein backup der Original-Installation auf eine leere (Sub-)Domain mit kickstart.php zurücksichern

    Kannst du natürlich auch machen, aber warum nicht unter lokalem Server, zB. Xampp?

    2. in PHPMyAdmin in der zugehörigen Datenbank die Tabelle # workflows löschen

    Es geht darum: Alle Tabellen, die in den SQL-Scripts mit z.B. "CREATE TABLE IF NOT EXISTS..."
    neu erzeugt werden sollen, bestehen ja häufig schon unter J3, allerdings mit veralteter Tabellenstruktur. Du kannst jetzt ALLE Scripts durchgehen und alle neu zu erstellenden Tabellen auf einen Rutsch in der DB löschen, weiß aber nicht, ob das andere Probleme macht.

    "Lokale Umgebung" einfach deshalb, es geht schneller. Xampp hast du in 10 Minuten installiert, restore deiner Webseite in Xampp dauert 5 Minuten.

  • Kannst du natürlich auch machen, aber warum nicht unter lokalem Server, zB. Xampp?

    Es geht darum: Alle Tabellen, die in den SQL-Scripts mit z.B. "CREATE TABLE IF NOT EXISTS..."
    neu erzeugt werden sollen, bestehen ja häufig schon unter J3, allerdings mit veralteter Tabellenstruktur. Du kannst jetzt ALLE Scripts durchgehen und alle neu zu erstellenden Tabellen auf einen Rutsch in der DB löschen, weiß aber nicht, ob das andere Probleme macht.

    "Lokale Umgebung" einfach deshalb, es geht schneller. Xampp hast du in 10 Minuten installiert, restore deiner Webseite in Xampp dauert 5 Minuten.

    Danke für deine Hilfe. Ich fürchte aber, dass meine Kenntnisse dafür nicht ausreichen. Trotzdem die Frage: in welchem Verzeichnis genau befinden sich die Scripte? Beim ersten Drüberfliegen in den Verzeichnissen habe ich das nicht finden können.

  • Eventuell unterscheiden sich die Verzeichnis-Pfade der einzelnen Provider. Bei meinem Provider (Alfahosting) sieht der Pfad so aus:

    /html/joomla/administrator/components/com_admin/sql/updates/mysql


    Auf dem Lamp-Server:


    /srv/www/htdocs/joomla4/administrator/components/com_admin/sql/updates/mysql


    Danke für deine Hilfe. Ich fürchte aber, dass meine Kenntnisse dafür nicht ausreichen.

    Ich bin mir ziemlich sicher, dass deine Kenntnisse für die Installation eines Xampp- oder Wamp-Servers völlig ausreichen.

    Gruß Jürgen

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von jsc_01 mit diesem Beitrag zusammengefügt.

  • Danke für dein Zutrauen :) Ich sehe das Problem auch nicht in der Installation des Xampp-Servers sondern in der Vorgehensweise mit den sql-Scripts. Davon habe ich nämlich so gut wie keine Ahnung.

    Das Verzeichnis für die Scripte habe ich übrigens gefunden. Ich habe gerade nochmal ein neues Upgrade nur mit den Core-Komponenten + akeeba versucht. Wieder die gleiche Fehlermeldung.

    Wenn ich dich richtig verstehe muss ich jetzt jedes Script nacheinander ausführen (wo und wie???) und anschließend in PHPMyAdmin jeweils die Tabelle workflows löschen. Richtig?

  • Mach mal Folgendes:
    1. Dein letztes, funktionierendes Akeeba-Backup wieder restoren und aufbewahren, deine Webseite (Joomla 3.10.3) sollte jetzt einwandfrei laufen.

    2. "Datenbank überprüfen" sollte folgendes Ergebnis zeigen ansonsten "reparieren" klicken.

    Hinweis

    Die Datenbanktabellenstruktur ist aktuell!
    Version des Datenbankschemas (in #__schemas): 3.10.0-2021-05-28

    • Update-Version (in #__extensions): 3.10.3
    • Datenbanktreiber: mysqli
    • 189 Datenbankänderungen wurden überprüft.
    • 218 Datenbankänderungen hatten keinen Einfluss auf die Struktur der Datenbanktabellen und wurden deshalb übersprungen.

    3. Installationsprüfung für Joomla 4.0.4

    hier sollte fast alles "grün" sein.


    4. Erneutes Backup erstellen

    5. In deiner DB mit phpmyadmin folgende Tabellen löschen:
    #_finder_links

    #_finder_links_terms (bei mir gab es davon 16 Tabellen, _terms0 - _termsf)

    #_finder_logging

    #_mail_template

    #_workflows...... 4 Stück

    #_history, wenn vorhanden


    6. wenn alles ok ist, DB + Install.Prüfung, dann auf Joomla 4.0.4 updaten.


    "Wenn ich dich richtig verstehe muss ich jetzt jedes Script nacheinander ausführen (wo und wie???) und anschließend in PHPMyAdmin jeweils die Tabelle workflows löschen. Richtig?"


    Nein, das wird von der Update-Routine automatisch ausgeführt. Und zwar wird jedes Script von


    4.0.0-2018-03-05.sql.

    bis

    .

    4.0.3-2021-09-05.sql

    in zeitlicher Reihenfolge abgearbeitet.


    7. Sollte das Update funktionieren, SOFORT ein Backup machen. Und natürlich das Backup von 3.10.3 vorrätig halten für den Fall dass du zurück auf J3.10.3 willst.

  • Hallo Jürgen,

    ERFOLG!!! :)

    Ohne deine Hilfe hätte ich das NIE geschafft. Jetzt kann ich mich in Ruhe in Joomla 4 einarbeiten. Und so ganz nebenbei habe ich noch ganz, ganz viel gelernt.

    Vielen Dank an alle, die mir geholfen haben und ganz besonders natürlich an dich.