SQL Fehler bei Deinstalltion

  • Hallo Woltlab Community,

    ich habe folgendes Problem. Wenn ich ein Paket deinstallieren will, bekomme ich folgenden Error:

    • Error Message:

      SQLSTATE[42S22]: Column not found: 1054 Unknown column 'packageID' in 'where clause'

    • Error Code:

      42

    • File:

      */lib/system/database/Database.class.php (243)

    • Stack Trace:
      • #0 */lib/system/database/Database.class.php (243):
      • PDO->prepare('DELETE FROM wcf1_tour WHERE packageID = ?')
      • #1 */lib/system/package/plugin/AbstractPackageInstallationPlugin.class.php (98):
      • wcf\system\database\Database->prepareStatement('DELETE FROM wcf1_tour WHERE packageID = ?')
      • #2 */lib/system/package/plugin/AbstractXMLPackageInstallationPlugin.class.php (76):
      • wcf\system\package\plugin\AbstractPackageInstallationPlugin->uninstall()
      • #3 */lib/system/package/PackageUninstallationDispatcher.class.php (118):
      • wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin->uninstall()
      • #4 */lib/system/package/PackageUninstallationDispatcher.class.php (74):
      • wcf\system\package\PackageUninstallationDispatcher->executePIP([ pluginName => , className => ])
      • #5 */lib/acp/action/UninstallPackageAction.class.php (112):
      • wcf\system\package\PackageUninstallationDispatcher->uninstall('86efb7f7')
      • #6 */lib/action/AbstractDialogAction.class.php (68):
      • wcf\acp\action\UninstallPackageAction->stepUninstall()
      • #7 */lib/action/AbstractAction.class.php (47):
      • wcf\action\AbstractDialogAction->execute()
      • #8 */lib/system/request/Request.class.php (83):
      • wcf\action\AbstractAction->__run()
      • #9 */lib/system/request/RequestHandler.class.php (96):
      • wcf\system\request\Request->execute()
      • #10 */acp/index.php (9):
      • wcf\system\request\RequestHandler->handle('wcf', true)

    Final Error

    • Error Type:

      wcf\system\database\exception\DatabaseQueryException

    • Error Message:

      Could not prepare statement 'DELETE FROM wcf1_tour WHERE packageID = ?'

    • Error Code:

      42

    • File:

      */lib/system/database/Database.class.php (248)

    • Stack Trace:
      • #0 */lib/system/package/plugin/AbstractPackageInstallationPlugin.class.php (98):
      • wcf\system\database\Database->prepareStatement('DELETE FROM wcf1_tour WHERE packageID = ?')
      • #1 */lib/system/package/plugin/AbstractXMLPackageInstallationPlugin.class.php (76):
      • wcf\system\package\plugin\AbstractPackageInstallationPlugin->uninstall()
      • #2 */lib/system/package/PackageUninstallationDispatcher.class.php (118):
      • wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin->uninstall()
      • #3 */lib/system/package/PackageUninstallationDispatcher.class.php (74):
      • wcf\system\package\PackageUninstallationDispatcher->executePIP([ pluginName => , className => ])
      • #4 */lib/acp/action/UninstallPackageAction.class.php (112):
      • wcf\system\package\PackageUninstallationDispatcher->uninstall('86efb7f7')
      • #5 */lib/action/AbstractDialogAction.class.php (68):
      • wcf\acp\action\UninstallPackageAction->stepUninstall()
      • #6 */lib/action/AbstractAction.class.php (47):
      • wcf\action\AbstractDialogAction->execute()
      • #7 */lib/system/request/Request.class.php (83):
      • wcf\action\AbstractAction->__run()
      • #8 */lib/system/request/RequestHandler.class.php (96):
      • wcf\system\request\Request->execute()
      • #9 */acp/index.php (9):
      • wcf\system\request\RequestHandler->handle('wcf', true)


    Über die Suchfunktion habe ich leider nichts direkt zu diesem SQL Error gefunden.
    Jemand eine Idee wie ich das fixen kann?

    Mal nebenbei, wo genau werden die Pakete eigentlich Installiert? Da gibt es doch auch bestimmt ein Verzeichnis.

    Danke für eure Hilfe,
    Grüße Jonas

  • wcf1_tour scheint keine Tabelle zu sein, die zum Standardumfang gehört. Hier scheint eventuell das Tour-Plugin Sachen zu überschreiben, so dass du dich vielleicht mal an den Autor des Plugins wenden solltest.

    Meine Plugins: OAuth Provider, Generischer OAuth Login, Battle.net Login, Twitch Login, WoW Server Status, Warcraftlogs, Suchbegriffe, Würfel

  • Leider bietet der Entwickler kein Support mehr an und die Seiten sind alle down.
    Jemand eine Idee, wie man das lösen kann? Manuelles löschen aus dem Verzeichnis/Datenbank?


    Ich kann kein anderen Paket deinstallieren, bei allein kommt so circa der gleiche Fehler.

  • Ohne manuellen Eingriff in die Datenbank wirst du keine Chance haben, das Problem in den Griff zu bekommen. Kann sogar durchaus sein, dass das nicht die einzige Fehlermeldung bleibt, sondern nach Behebung des ersten Problems noch weitere Fehlermeldungen folgen werden.


    Dementsprechenden solltest du erstmal eine komplette Sicherung deines Systems erstellen bzw. das Live-System klonen und dann in dem Klon erstmal schauen, ob sich die Bemühungen lohnen. Dein Live-System bleib somit erstmal unangetastet online.


    Führe mal bitte (vorzugsweise in einem vorher erstellen Klon) folgenden SQL-Befehl aus und versuche anschließend nochmal ein Paket zu deinstallieren.

    SQL
    ALTER TABLE wcf1_tour ADD COLUMN packageID INT(10) NOT NULL DEFAULT '0';
  • Ohne manuellen Eingriff in die Datenbank wirst du keine Chance haben, das Problem in den Griff zu bekommen. Kann sogar durchaus sein, dass das nicht die einzige Fehlermeldung bleibt, sondern nach Behebung des ersten Problems noch weitere Fehlermeldungen folgen werden.


    Dementsprechenden solltest du erstmal eine komplette Sicherung deines Systems erstellen bzw. das Live-System klonen und dann in dem Klon erstmal schauen, ob sich die Bemühungen lohnen. Dein Live-System bleib somit erstmal unangetastet online.


    Führe mal bitte (vorzugsweise in einem vorher erstellen Klon) folgenden SQL-Befehl aus und versuche anschließend nochmal ein Paket zu deinstallieren.

    SQL
    ALTER TABLE wcf1_tour ADD COLUMN packageID INT(10) NOT NULL DEFAULT '0';

    Vielen vielen dank!
    Das hat funktioniert. Mega cool ^^


    Damit hat sich das erledigt.