XF\Db\DuplicateKeyException: Batch install error: xf_dbtech_shop_trade_offer: MySQL query error [1062]: Duplicate entry '0-0-dbtech_shop_purchase-0' for key 'PRIMARY'src/XF/Db/AbstractStatement.php:228
ALTER TABLE `xf_dbtech_shop_trade_offer`
MODIFY COLUMN `quantity` INT UNSIGNED NOT NULL DEFAULT '0',
ADD `trade_id` INT UNSIGNED NOT NULL,
ADD `user_id` INT UNSIGNED NOT NULL DEFAULT '0',
ADD `content_type` VARCHAR(25) NOT NULL DEFAULT 'dbtech_shop_purchase',
ADD `content_id` INT UNSIGNED NOT NULL,
ADD `finalized` TINYINT UNSIGNED NOT NULL DEFAULT '0',
DROP PRIMARY KEY,
ADD PRIMARY KEY (`trade_id`, `user_id`, `content_type`, `content_id`)
------------
#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL query err...', 1062, '23000')
#1 src/XF/Db/Mysqli/Statement.php(77): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1062, '23000')
#2 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/Schema/AbstractDdl.php(151): XF\Db\AbstractAdapter->query('ALTER TABLE `xf...')
#4 src/XF/Db/SchemaManager.php(149): XF\Db\Schema\AbstractDdl->apply()
#5 src/addons/DBTech/Shop/Setup.php(313): XF\Db\SchemaManager->alterTable('xf_dbtech_shop_...', Object(Closure))
#6 src/addons/DBTech/Shop/Install/Upgrade906049970Trait.php(20): DBTech\Shop\Setup->applyTables()
#7 src/XF/AddOn/StepRunnerUpgradeTrait.php(122): DBTech\Shop\Setup->upgrade906040870Step1(Array)
#8 src/XF/AddOn/StepRunnerUpgradeTrait.php(71): DBTech\Shop\Setup->upgradeStepRunner(906040870, 1, Array, NULL)
#9 src/XF/Job/AddOnInstallBatch.php(297): DBTech\Shop\Setup->upgrade(Array)
#10 src/XF/Job/AddOnInstallBatch.php(89): XF\Job\AddOnInstallBatch->stepAction(Object(XF\Timer))
#11 src/XF/Job/Manager.php(258): XF\Job\AddOnInstallBatch->run(8)
#12 src/addons/Hampel/JobRunner/XF/Job/Manager.php(87): XF\Job\Manager->runJobInternal(Array, 8)
#13 src/XF/Job/Manager.php(200): Hampel\JobRunner\XF\Job\Manager->runJobInternal(Array, 8)
#14 src/addons/Hampel/JobRunner/XF/Job/Manager.php(80): XF\Job\Manager->runJobEntry(Array, 8)
#15 src/XF/Job/Manager.php(116): Hampel\JobRunner\XF\Job\Manager->runJobEntry(Array, 8)
#16 src/XF/Admin/Controller/Tools.php(120): XF\Job\Manager->runByIds(Array, 8)
#17 src/XF/Mvc/Dispatcher.php(350): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#18 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#19 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#20 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#21 src/XF/App.php(2300): XF\Mvc\Dispatcher->run()
#22 src/XF.php(488): XF\App->run()
#23 admin.php(13): XF::runApp('XF\\Admin\\App')
#24 {main}