1054 Unknown column 'category_id' in 'field list'

  • Guten Tag,
    viele Foren habe ich durchforstet, was leider nicht hilfreich zur Lösung des Problems führte, da in den meisten Fällen kein Backend mehr sichtbar war. Das trifft aber beim vorliegenden Fall nicht zu. Eigentlich hat die Migration wunderbar funktioniert und auch die Seite an sich läuft. (php7.1, Joomla 3.8.3, Hoster Alfahosting). Im Einzelnen:


    Eine in die Jahre gekommene Webseite (Joomla 1.5) wurde problemlos (so dachte ich) auf Joomla 3.8.3 migriert. Geholfen hat dabei SP-Upgrade (Joomla-Beiträge, Menüs und User) als auch viel Handarbeit bei der Übernahme der Daten zu den jeweils aktuellen Versionen (auszugsweise):

    • Fireboard -> Kunena Forum
    • AcyMailing
    • CBE -> Community Builder
    • Easybook Reloaded
    • uddelM PMS
    • jcomments
    • ...

    Eigentlich läuft die Webseite fehlerfrei sowohl im Backend als auch im Frontend! Beiträge können beliebig editiert werden, Kommentare funktionieren, Forum läuft ohne Probleme... Nach einigen Tagen "harter Arbeit" war die Migration abgeschlossen - aber dann:
    Ein neuer Beitrag wurde geschrieben - speichern funktionierte ohne Probleme (und sieht in der Datenbank in der Tabelle _content vollkommen ok aus). Auf der Startseite kann der geschriebene Beitrag auch als Haupteintrag dargestellt werden - aber wehe, man ruft den Beitrag auf (z. B. in der Beitragsliste oder per Klick auf den Beitragstitel).
    Dann kommt es zur Fehlermeldung:
    1054 Unknown column 'category_id' in 'field list' joomla


    Nun frage ich mich, ob ich wirklich noch einmal von vorne anfangen muss - oder ob es eine Möglichkeit gibt, den Fehler direkt in der Datenbank zu eliminieren / korrigieren?
    So wie ich verstanden habe, gab es ein ähnliches Problem durch Update auf die Version Joomla 3.7 (allerdings dort mit anschließend fehlendem Backend)?


    Alle hier im Forum aufgelisteten Lösungsansätze habe ich probiert - leider ohne Erfolg. Datenbank reparieren (in Joomla) zeigt, dass es Joomla 3.8.2 ist? Die Joomla-Version wird mit 3.8.3 korrekt angegeben. Das scheint aber normal zu sein, da es bei anderen von mir erstellen Webseiten genau so angezeigt wird:

    Version des Datenbankschemas (in #__schemas): 3.8.2-2017-10-14
    Aktualisierungsversion (in #__extensions): 3.8.3
    Datenbanktreiber: mysqli
    148 Datenbankänderungen wurden überprüft.
    183 Datenbankänderungen hatten keinen Einfluss auf die Struktur der Datenbanktabellen und wurden deshalb übersprungen.


    Link zur Webseite
    Der Fehler tritt bei allen neu angelegten Beiträgen auf (siehe Testbeitrag auf der Startseite). Alle anderen (alten) Beiträge werden auch nach Inhalteänderungen im Beitrag korrekt aufgerufen! ?(


    Nun weiß ich leider nicht mehr weiter. Vielen, herzlichen Dank schon mal für einen Tipp auf meinen Hilferuf!
    Gruß Shuffle

  • Moin Christian,
    diese Möglichkeit hatte ich bereits ausgeschlossen bzw. probiert. Leider kein Erfolg! Ich habe SEO momentan mal abgeschaltet.
    Aufgefallen ist mir schon, dass früher alle Punkte aus Datumsangaben aus der Url entfernt wurden - z. B.:
    .../26082017-sommerfest-steterburg
    heute sieht das dann so aus (anderer Beitrag)
    .../03-06-1996-jubilaeum-40-jahre-realschule-thiede
    Aber das dürfte auch so oder so funktionieren oder?


    Vielen Dank!
    Shuffle


    PS: Welche Befremdlichkeit zeigen denn die Urls?

  • Ich bin ganz weit oben aus deinem Eingangspost bereits ausgetreten und bitte dich das mal zu überprüfen

    Zitat

    Übernahme der Daten zu den jeweils aktuellen Versionen


    Denn der CBE hat rein gar nichts mit dem Community Builder zu tun. Der CBE war einst ein Clon vom CB, aber eine eigenstöändige Entwicklung.



    Axel

  • Hallo ihr,
    vielen Dank für die Ideen.


    Gehe mal im Backend auf Erweiterungen -> Verwalten -> Überprüfen, und lass' dort alles ggf nachinstallieren.


    Leider gib es dort nichts zum (Nach-)Installieren, scheint alles auf dem neusten Stand zu sein. (Ist ja auch erst die letzten Tage entstanden...)


    Vielleicht nicht relevant, dennoch schauen, ob das template: https://www.joomlart.com/joomla/templates/ja-simpli auf dem neuesten Stand ist.


    Es ist das aktuelle Template installiert.


    Ich bin ganz weit oben aus deinem Eingangspost bereits ausgetreten und bitte dich das mal zu überprüfen


    Denn der CBE hat rein gar nichts mit dem Community Builder zu tun. Der CBE war einst ein Clon vom CB, aber eine eigenstöändige Entwicklung


    Lieber Axel, das ist mir bewusst. Deswegen habe ich den CB (aktuelle Version) "frisch" installiert, einige Felder erstellt und die Daten (bei den paar Usern) händisch übernommen.


    Ich befürchte, dass ich wieder von vorne anfangen muss. :S
    Nochmals Danke - vielleicht hat ja noch jemand weitere Ideen?
    Herzliche Grüße

  • Ich befürchte, dass ich wieder von vorne anfangen muss


    Da gibst du zu schnell auf. Man muss ja "nur" rauskriegen, welche DB-Tabelle das ist.


    Benenne in deinem Template-Ordner die error.php um (zum Deaktivieren).


    Aktiviere den Debug-Modus (Seite) in der Joomla-Konfiguration.
    Fehler berichten kannst der Vollständigkeit halber auf Maximum setzen, auch wenn's hier vrmtl. keine Infos liefern wird.


    Erweiterungen > Datenbank > Reparieren-Button kann auch nicht schaden.


    Dann mal schauen, ob die Fehlerseite mehr ausspuckt.


    Nur so ein Verdacht: JoomShopping hast du installiert? Oder ggf. noch irgendwelche Leichen in Datenbank oder Module rumliegen?


    EDIT: Kannst mir auch einen Datebank-Export schicken. Blätter ich mal durch. re-later[AT]ghsvs[DOT]de

  • N'abend,


    Da gibst du zu schnell auf. Man muss ja "nur" rauskriegen, welche DB-Tabelle das ist.
    ...
    Erweiterungen > Datenbank > Reparieren-Button kann auch nicht schaden.
    ...
    JoomShopping hast du installiert?


    ..."nur" - das liest sich gut. :thumbup:
    Nein, kein JoomShopping, keine alten Module und der Reparieren-Knopf wurde schon zigmal betätigt - von Anfang an meinte Joomla bzw. das angezeigte Ergebnis, dass alles in Ordnung sei...



    Benenne in deinem Template-Ordner die error.php um (zum Deaktivieren).
    Aktiviere den Debug-Modus (Seite) in der Joomla-Konfiguration.
    Fehler berichten kannst der Vollständigkeit halber auf Maximum setzen, auch wenn's hier vrmtl. keine Infos liefern wird.
    Dann mal schauen, ob die Fehlerseite mehr ausspuckt.


    Fein - das werde ich in Angriff nehmen und berichten.
    Vielen Dank und einen schönen Abend!
    Reiner

  • Hallo Re:Later, hallo ihr Helfer,
    nun spricht Joomla mehr:
    ----------------------------------------
    1054 - Unknown column 'category_id' in 'field list'


    Die Seite kann nicht angezeigt werden, weil:


    Sie ein veraltetes Lesezeichen aufgerufen haben.
    Sie über eine Suchmaschine einen veralteten Index dieser Webseite aufgerufen haben.
    Sie eine falsche Adresse aufgerufen haben.
    Sie keinen Zugriff auf diese Seite haben.
    Die angefragte Quelle wurde nicht gefunden!
    Während der Anfrage ist ein Fehler aufgetreten!


    Bitte eine der folgenden Seiten ausprobieren:


    Startseite


    Bei Problemen ist der Administrator dieser Website zuständig.


    Unknown column 'category_id' in 'field list'
    /var/www/web2nnn6/html/_Steterburg_3/libraries/joomla/database/driver/mysqli.php:650
    Call stack
    # Function Location
    1 () JROOT/libraries/joomla/database/driver/mysqli.php:650
    2 JDatabaseDriverMysqli->execute() JROOT/components/com_jcomments/models/object.php:66
    3 JCommentsModelObject::setObjectInfo() JROOT/components/com_jcomments/helpers/object.php:128
    4 JCommentsObjectHelper::fetchObjectInfo()
    5 call_user_func_array() JROOT/libraries/src/Cache/Controller/CallbackController.php:173
    6 Joomla\CMS\Cache\Controller\CallbackController->get() JROOT/components/com_jcomments/helpers/object.php:158
    7 JCommentsObjectHelper::getObjectInfo() JROOT/components/com_jcomments/helpers/object.php:46
    8 JCommentsObjectHelper::getLink() JROOT/components/com_jcomments/classes/factory.php:255
    9 JCommentsFactory::getTemplate() JROOT/components/com_jcomments/jcomments.php:192
    10 JComments::show() JROOT/plugins/content/jcomments/jcomments.php:282
    11 plgContentJComments->onAfterDisplayContent() JROOT/plugins/content/jcomments/jcomments.php:339
    12 plgContentJComments->onContentAfterDisplay() JROOT/libraries/joomla/event/event.php:70
    13 JEvent->update() JROOT/libraries/joomla/event/dispatcher.php:160
    14 JEventDispatcher->trigger() JROOT/components/com_content/views/article/view.html.php:199
    15 ContentViewArticle->display() JROOT/libraries/src/MVC/Controller/BaseController.php:672
    16 Joomla\CMS\MVC\Controller\BaseController->display() JROOT/components/com_content/controller.php:113
    17 ContentController->display() JROOT/libraries/src/MVC/Controller/BaseController.php:710
    18 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/components/com_content/content.php:42
    19 require_once() JROOT/libraries/src/Component/ComponentHelper.php:381
    20 Joomla\CMS\Component\ComponentHelper::executeComponent() JROOT/libraries/src/Component/ComponentHelper.php:356
    21 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/SiteApplication.php:194
    22 Joomla\CMS\Application\SiteApplication->dispatch() JROOT/libraries/src/Application/SiteApplication.php:233
    23 Joomla\CMS\Application\SiteApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:267
    24 Joomla\CMS\Application\CMSApplication->execute() JROOT/index.php:49
    ------------------------
    Was sagt mir das? ;(
    Gruß Reiner


  • Vielleicht liegt es an jcomments???


    Das muss es sein! Danke für den schnellen Hinweis.
    Nach Abschalten von jcomments trat erst einmal kein Fehler mehr auf. Beim Vergleich der Datenbank (vor der Migration - nachher) fällt auf, dass die in der alten Datenbank mehrere Einträge 'category_id' vorhanden sind (insgesamt 24), in der aktuellen nur ein einziger Eintrag (in _extensions). Da habe ich wohl zu kurz gedacht bei der Übernahme der Daten durch vorheriges Kopieren der Kommentare (aller zugehörigen Datenbank-Tabellen) in die neue Datenbank mit anschließender Installation von jcomments 3.0.5 "über die vorhandenen Daten"? (Ich meine, das war irgendwo so beschrieben...).
    Komisch ist ja eigentlich, dass alles funktionierte und "nur" beim Schreiben eines neuen Beitrags zum Fehler kam.
    Hoffentlich ist es kein Zufall, dass nun kein Fehler mehr auftritt?
    Bericht folgt, wie die Kommentare (hoffentlich) doch noch zu integrieren sind.


    Herzlichen Dank euch Helfern!
    Shuffle

  • N'abend,
    ach, ich liebe euch! :*:*:*
    Tatsächlich lag es an jcomments (V 3.0.5) und einer fehlerhaften Migration von Version 2.3.0. Auf der Webseite des Entwicklers stand, dass man die alte Version deinstallieren und die neue installieren soll. Daraus schloss ich, dass die Datenbank-Anpassungen automatisch erledigt würden und eine Datenübernahme erfolgt.
    Also kopierte ich die alten Tabellen von jcomments in die neue Installation (Joomla 3.8.3) und installierte erst danach die Version jcomments 3.0.5. Wie oben beschrieben funktioniert auch erst einmal alles ganz prima - bis der erste neue Beitrag geschrieben wurde.


    Lösung:
    In die "frische" Webseite Joomla 3.8.3 zuerst jcomment 3.0.5 installieren, damit die für diese Version korrekten Datenbanken ohne Kommentare installiert werden.
    Danach aus den vier Tabellen _jcomments, _jcomments_objects, _jcomments_subscriptions und _jcomments_votes die Tabelleninhalte (nicht die Struktur!) übernehmen. Das war es dann. Ein neuer Beitrag wurde nun auch ohne Fehlermeldung angenommen und alle Kommentare sowie Bewertungen sind gerettet...


    jcomments scheint nicht mehr weiter entwickelt zu werden? Da bereits viele Kommentare sowie votes etc. auf meiner Webseite vorhanden waren, wollte ich nicht erst noch mit anderen Komponenten probieren. Wer weiß, wie das ausgegangen wäre.


    Nochmals Dank an die Helfer! beer
    Schönen Tag noch
    Shuffle