Migration 2.5.28 > 3.4.8 --- #1214 - The used table type doesn't support FULLTEXT indexes

  • Beim Upgraden erhalte ich folgende Fehlermeldung: #1214 - The used table type doesn't support FULLTEXT indexes
    Ich finde zwar einige Erklärungen über Google, warum das so ist, aber keine Lösung für Joomla.
    Merkwürdigerweise habe ich schon gefühlte 20 Joomla Seiten von 2.x auf 3.x migriert, dort aber nie das Problem gehabt...
    vielen Dank für eventuelle Antworten...

  • Zitat

    The used table type doesn't support FULLTEXT indexes


    Die Fehlermeldung besag das der Tabellentype keine Indexes vom Type "FULLTEXT" unterstützt.


    Welchen Tabellentype setzt du denn ein?
    Welche Datenbank?
    Welche Version der Datenbank?
    Welche 3Party Erweiterungen haben eine Datenbanktabelle?
    Wie sieht deren SQL Definition im Punkto FULLTEXT Indexes aus?

  • Vielen Dank für die Antworten:


    meine anderen Seiten liegen auch alle zu 85% bei 1und1 - ja shared Host - und ja funktionieren


    mySQL Datenbankversion 5.1.73
    PHP-Version 5.6.18


    Das ganze passiert nach dem Migrieren mit dem Akeeba CMSupdate von dem bekanntesten Joomla-Griechen Nikolas... ;-)


    zero24 :
    Aber diese Gegenfrage scheint interessant:

    Zitat

    Welche 3Party Erweiterungen haben eine Datenbanktabelle?


    Wie kann ich das herausfinden?


  • Wie kann ich das herausfinden?


    In dem Du mal reinschaust. In den meisten Fällen, handelt es sich dabei um Komonenten.
    Zum Einen siehst Du die im Joomla-Backend, zum Anderen über phpMyAdmin. Die Tabellenamen weisen auf die verwendete Komponente hin.

  • Zitat

    Das ganze passiert nach dem Migrieren mit dem Akeeba CMSupdate von dem bekanntesten Joomla-Griechen Nikolas...


    Das könnte auch das Problem sein. Bitte nimm nur den Core für Updates und keine 3Party Erweiterung.


    Zitat

    komme nur bis 5.5


    Aber das sollte kein Problem darstellen ich habe bei mir auch 5.5 und damit habe ich keine Fehlermeldungen bei einem Update von 2.5.x auf 3.x gehabt. Ich kann mir nur vorstellen das eine 3party Erweiterung Probleme macht...


    Daher die Frage was die Tabellen so haben bzw. welche Erweiterungen Datebanktabellen mit welcher Definition haben :)


    Ein Indiz könnte auch sein: Wie alt ist die Webseite ist das zufällig eine Webseite die von 1.5 oder früher auf 2.5 migriert wurde?

  • Nein. Für ein Upgrade reicht es i.d.R. alles zu deaktivieren.


    Wenn du möchtest kannst du mir mal ein Datenbank Backup schicken (email siehe PN). Bitte denke daran alle Daten zu entfernen und nur die Definitionen zu schicken.
    Dann gucke ich mal ob ich erkennen kann was das Problem ist bzw. welche Erweiterung das Problem verursacht.

  • @Hotkeyharry,


    Also es ist folgendes passiert:

    • Du hast eine ältere Joomla Installation nach und nach auf Joomla 2.5.28 gezogen.
    • Du hast eine ältere MySQL Version die die Besonderheit hat mit der ENGINE InnoDB keine Unterstützung für Volltext Schlüssel hat (erst ab 5.6+ verfügbar)
    • Aktuell hat das bei dir geklappt weil die Tabelle die Engine "MyISAM" nutzt welche die Unterstützung für Volltext Schlüssel schon hat.
    • Joomla geht bei einem Update auf 3.x aber hin und ändert die Engine aller Tabellen auf InnoDB.
    • In einer "normalen" 3.x ist das ändern der Engine kein Problem da dort der Volltext Schlüssel in der Definition nicht mehr vorkommt.


    Die betroffene Tabelle ist die #__menu
    So wird sie im Core 3.4.8 definiert: https://github.com/joomla/joom…ql/joomla.sql#L1214-L1247


    So bei dir:


    Lösungsvorschlag:


    Probiere einmal bitte diesen SQL Befehl abzusetzen (#__ durch deinen Prefix ersetzen):


    Code
    1. ALTER TABLE #__menu DROP INDEX menutype;


    Wenn der durchläuft noch einmal den Dump überprüfen ob der Eintrag für "FULLTEXT KEY `menutype` (`menutype`)" in der Definition für #__menu weg ist. Im Anschluss das Update über der Core Updater machen, dann sollte der Fehler nicht auftreten.

  • @zero24,
    also habe das mehrfach durchgespielt, hatte aber folgendes Kopfproblem: wollte die TAbelle löschen (klaro: eigenes prefix ersetzt)...aber es kam die Meldung, dass er die Zeile oder den Eintrag nicht finden kann - ergo: kann ich es auch nicht löschen.


    Beim mehrfachen probieren, backupen und zurückspielen der alten 2.5.28, habe ich dann irgendwann, weil die Tabelle (FULLTEXT KEY `menutype` (`menutype`) ja nicht mehr da war, das Upgrade erneut gemacht und siehe da, bis auf die üblichen mir bereits bekannten Verdächtigen Plugins/Module zeigte er unten die 3.4.8 an - Freude.


    Der Rest war dann aufräumen, Datenbank reparieren/optimieren, Plugins updaten, im Core die Weblinks updaten (Fehler im Backend Komponente Weblinks), weil unter 3.x nicht mehr vorhanden (für Interessierte: Link hierzu) - mit anderen Worten jetzt läuft es!! 1.000 Dank


    letzte Frage:
    Gibt es eigentlich irgendwo eine Auslistung/Anlaufstelle was in der Datenbank für Joomla 1.5, für Joomla 2.5. und/oder für Joomla 3.x drinstehen darf? Oder gibt es sogar ein Komponente die solche Zusammenhänge findet - weil, ich habe mit Sicherheit durch die Upgrades 1.5 > 2.5 > 3.x der Jahre in mehreren Joomla Installationen / bzw. Datenbanken sicherlich noch Bezüge zu alten Versionen in der Datenbank stehen??!!


    Nochmals vielen Dank

  • Zitat

    Gibt es eigentlich irgendwo eine Auslistung/Anlaufstelle was in der Datenbank für Joomla 1.5, für Joomla 2.5. und/oder für Joomla 3.x drinstehen darf? Oder gibt es sogar ein Komponente die solche Zusammenhänge findet - weil, ich habe mit Sicherheit durch die Upgrades 1.5 > 2.5 > 3.x der Jahre in mehreren Joomla Installationen / bzw. Datenbanken sicherlich noch Bezüge zu alten Versionen in der Datenbank stehen??!!


    In der Theorie sollte das der "Fix" Button im Backend machen. Wenn es aber schon vorher knallt weil deine DB Version etwas nicht unterstützt hilft keine Joomla Erweiterung :)


    Wie deine Tabellen auszusehen haben steht hier: https://github.com/joomla/joom…tion/sql/mysql/joomla.sql (3.4.8 kann durch eine beliebige version größer als 2.5.0 ausgetauscht werden)