doublesecretagency / craft-adwizard

Ad Wizard plugin for Craft CMS
Other
7 stars 8 forks source link

Uninstall causes MySQL Base table or view not found #44

Closed adrianjean closed 10 months ago

adrianjean commented 1 year ago

I had to uninstall the plugin from a site and during the uninstall process I got this error:

*** uninstalling ad-wizard
    > dropping {{%adwizard_ads}} if it exists ... done (time: 0.002s)
    > dropping {{%adwizard_groups}} if it exists ... done (time: 0.001s)
    > dropping {{%adwizard_fieldlayouts}} if it exists ... done (time: 0.001s)
    > dropping {{%adwizard_clicks}} if it exists ... done (time: 0.002s)
    > dropping {{%adwizard_views}} if it exists ... done (time: 0.002s)
    > delete from {{%fieldlayouts}} ... done (time: 0.004s)
    > delete from {{%elements}} ... done (time: 0.004s)
    > delete from {{%elementindexsettings}} ...Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'websitead1.elementindexsettings' doesn't exist
The SQL being executed was: DELETE FROM `elementindexsettings` WHERE `type`='doublesecretagency\\adwizard\\elements\\Ad' (/srv/www/website.com/vendor/yiisoft/yii2/db/Schema.php:676)
#0 /srv/www/website.com/vendor/yiisoft/yii2/db/Command.php(1307): yii\db\Schema->convertException()
#1 /srv/www/website.com/vendor/yiisoft/yii2/db/Command.php(1102): yii\db\Command->internalExecute()
#2 /srv/www/website.com/vendor/yiisoft/yii2/db/Migration.php(299): yii\db\Command->execute()
#3 /srv/www/website.com/vendor/doublesecretagency/craft-adwizard/src/migrations/Install.php(185): yii\db\Migration->delete()
#4 /srv/www/website.com/vendor/doublesecretagency/craft-adwizard/src/migrations/Install.php(46): doublesecretagency\adwizard\migrations\Install->deleteElementData()
#5 /srv/www/website.com/vendor/craftcms/cms/src/db/Migration.php(82): doublesecretagency\adwizard\migrations\Install->safeDown()
#6 /srv/www/website.com/vendor/craftcms/cms/src/db/MigrationManager.php(294): craft\db\Migration->down()
#7 /srv/www/website.com/vendor/craftcms/cms/src/base/Plugin.php(165): craft\db\MigrationManager->migrateDown()
#8 /srv/www/website.com/vendor/craftcms/cms/src/services/Plugins.php(621): craft\base\Plugin->uninstall()
#9 /srv/www/website.com/vendor/craftcms/cms/src/console/controllers/PluginController.php(322): craft\services\Plugins->uninstallPlugin()
#10 /srv/www/website.com/vendor/craftcms/cms/src/console/controllers/PluginController.php(181): craft\console\controllers\PluginController->_uninstallPluginByHandle()
#11 [internal function]: craft\console\controllers\PluginController->actionUninstall()
#12 /srv/www/website.com/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#13 /srv/www/website.com/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#14 /srv/www/website.com/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction()
#15 /srv/www/website.com/vendor/craftcms/cms/src/console/ControllerTrait.php(87): yii\console\Controller->runAction()
#16 /srv/www/website.com/vendor/craftcms/cms/src/console/Controller.php(217): craft\console\Controller->traitRunAction()
#17 /srv/www/website.com/vendor/yiisoft/yii2/base/Module.php(552): craft\console\Controller->runAction()
#18 /srv/www/website.com/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#19 /srv/www/website.com/vendor/craftcms/cms/src/console/Application.php(90): yii\console\Application->runAction()
#20 /srv/www/website.com/vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#21 /srv/www/website.com/vendor/craftcms/cms/src/console/Application.php(121): yii\console\Application->handleRequest()
#22 /srv/www/website.com/vendor/yiisoft/yii2/base/Application.php(384): craft\console\Application->handleRequest()
#23 /srv/www/website.com/craft(13): yii\base\Application->run()
#24 {main}
*** failed to uninstall ad-wizard: An error occurred while executing the "doublesecretagency\adwizard\migrations\Install migration: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'websitead1.elementindexsettings' doesn't exist
The SQL being executed was: DELETE FROM `elementindexsettings` WHERE `type`='doublesecretagency\\adwizard\\elements\\Ad'
Try again with --force.

CraftCMS: 4.4.10 Plugin: 3.3.0 PHP: 8.2.x

hafizovic commented 10 months ago

+1 Craft CMS: Latest Plugin: 3.3.1

lindseydiloreto commented 10 months ago

Thanks for reporting, sorry for the delay! Looks like some vestigial code from Craft 3.

This has been fixed in v3.3.2. 👍