skinnybloke Posted Tuesday at 01:35 PM Share Posted Tuesday at 01:35 PM (edited) I have upgraded my website from Prestashop v8.2 to v9.0 The following error is displayed when a payment returns to the order confirmation page. This happens regardless of my payment method, whether it is Opayo, PayPal or Bank Transfer. The order appears in the Prestashop back office and a payment is taken by the PSP. The order confirmation emails are also produced. Any ideas what I need to do for this page to display correctly? Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/db/DbPDO.php:149 Stack trace: #0 /public_html/classes/db/DbPDO.php(149): PDO->query('INSERT INTO `ps...') #1 /public_html/classes/db/Db.php(381): DbPDOCore->_query('INSERT INTO `ps...') #2 /public_html/modules/ps_eventbus/src/Repository/IncrementalSyncRepository.php(98): DbCore->query('INSERT INTO `ps...') #3 /public_html/modules/ps_eventbus/src/Service/SynchronizationService.php(340): PrestaShop\Module\PsEventbus\Repository\IncrementalSyncRepository->insertIncrementalObject(Array) #4 /public_html/modules/ps_eventbus/src/Traits/Hooks/UseOrderHooks.php(53): PrestaShop\Module\PsEventbus\Service\SynchronizationService->insertContentIntoIncremental(Array, 'upsert', '2025-09-08T12:5...', 1, false) #5 /public_html/classes/Hook.php(1251): Ps_eventbus->hookActionObjectOrderAddAfter(Array) #6 /public_html/classes/Hook.php(462): HookCore::coreCallHook(Object(Ps_eventbus), 'hookActionObjec...', Array) #7 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #8 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #9 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #10 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #11 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #12 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #13 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #14 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #15 /public_html/index.php(78): DispatcherCore->dispatch() #16 {main} Next PrestaShopException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/db/DbPDO.php:151 Stack trace: #0 /public_html/classes/db/Db.php(381): DbPDOCore->_query('INSERT INTO `ps...') #1 /public_html/modules/ps_eventbus/src/Repository/IncrementalSyncRepository.php(98): DbCore->query('INSERT INTO `ps...') #2 /public_html/modules/ps_eventbus/src/Service/SynchronizationService.php(340): PrestaShop\Module\PsEventbus\Repository\IncrementalSyncRepository->insertIncrementalObject(Array) #3 /public_html/modules/ps_eventbus/src/Traits/Hooks/UseOrderHooks.php(53): PrestaShop\Module\PsEventbus\Service\SynchronizationService->insertContentIntoIncremental(Array, 'upsert', '2025-09-08T12:5...', 1, false) #4 /public_html/classes/Hook.php(1251): Ps_eventbus->hookActionObjectOrderAddAfter(Array) #5 /public_html/classes/Hook.php(462): HookCore::coreCallHook(Object(Ps_eventbus), 'hookActionObjec...', Array) #6 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #7 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #8 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #9 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #10 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #11 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #12 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #13 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #14 /public_html/index.php(78): DispatcherCore->dispatch() #15 {main} Next PrestaShop\PrestaShop\Core\Exception\CoreException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'action' in 'INSERT INTO' in /public_html/classes/Hook.php:484 Stack trace: #0 /public_html/classes/Hook.php(1142): HookCore::callHookOn(Object(Ps_eventbus), 'actionObjectOrd...', Array) #1 /public_html/classes/ObjectModel.php(595): HookCore::exec('actionObjectOrd...', Array) #2 /public_html/classes/order/Order.php(327): ObjectModelCore->add(true, true) #3 /public_html/classes/PaymentModule.php(1077): OrderCore->add() #4 /public_html/classes/PaymentModule.php(351): PaymentModuleCore->createOrderFromCart(Object(Cart), Object(Currency), Array, 494, Object(Context), 'QFJDOKITQ', '59fc1b5aca43464...', 'Opayo (Formerly...', 'opayo', false, 109.99, 0, 109.99, false, Object(OrderState), 2, 73) #5 /public_html/modules/opayo/controllers/front/validation.php(82): PaymentModuleCore->validateOrder(24206, 2, 109.99, 'Opayo (Formerly...', NULL, Array, NULL, false, '59fc1b5aca43464...') #6 /public_html/classes/controller/Controller.php(319): OpayoValidationModuleFrontController->postProcess() #7 /public_html/classes/Dispatcher.php(487): ControllerCore->run() #8 /public_html/index.php(78): DispatcherCore->dispatch() #9 {main} thrown in /public_html/classes/Hook.php on line 484 Edited Tuesday at 04:49 PM by skinnybloke Issue solved (see edit history) Link to comment Share on other sites More sharing options...
cocos.codes Posted Tuesday at 01:45 PM Share Posted Tuesday at 01:45 PM This error indicates a problem in the ps_eventbus module (the action column is missing). First, check the table to see if the ACTION column exists using a query (e.g., via phpMyAdmin): SHOW CREATE TABLE ps_eventbus_incremental_sync; The table structure should be as follows: If not, add it with the query: ALTER TABLE ps_eventbus_incremental_sync ADD COLUMN action VARCHAR(50) NOT NULL; Remember to adjust the ps_ prefix to the one used by your store. Alternatively, try disabling the ps_eventbus module completely and see what happens. If the problem is solved, consider reinstalling this module (uninstall and reinstall) - if you need it at all. 1 Link to comment Share on other sites More sharing options...
skinnybloke Posted Tuesday at 02:11 PM Author Share Posted Tuesday at 02:11 PM The 'action' column did not exist. I added it, which I think has corrected the problem. I can't be sure, as I've now got what I assume to be a totally unassociated error Fatal error: Uncaught --> Smarty: Unable to load template 'file:layouts/layout-full-width.tpl' in 'page.tpl' <-- thrown in /home/g4u/testsites/testnewversion/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php on line 196 Link to comment Share on other sites More sharing options...
cocos.codes Posted Tuesday at 02:19 PM Share Posted Tuesday at 02:19 PM Great, now we have another error, but the previous one seems to be solved 🙂 Check if there is a file in your theme directory: layouts/layout-full-width.tpl The full path will be something like this: /public_html/your_shop/themes/classic/templates/layouts/layout-full-width.tpl If it's not there, let me know if you have any modifications to the classic theme. Is it “original”? 1 Link to comment Share on other sites More sharing options...
skinnybloke Posted Tuesday at 04:48 PM Author Share Posted Tuesday at 04:48 PM Sorted. Thanks for your help on this. For some reason, the layout-full-width.tpl in the theme directory was prefixed with 'old-' I renamed this and it is now working. Link to comment Share on other sites More sharing options...
cocos.codes Posted Tuesday at 04:51 PM Share Posted Tuesday at 04:51 PM The installer or server sometimes changes names if, for example, it wants to overwrite a file, but it already exists (to avoid deleting it, it adds a prefix such as .old, _old, etc.). I'm glad the problem has been solved 🙂 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now