How to upgrade from Opencart 3.0.3.8 to Opencart 4.0.2.2? and minor versions of 4

We started upgrading some of our clients to Opencart 4.0.2.2 from Opencart 3.0.3.8. Here are the steps that we follow and some of the issues that we face and their solution to fix the issue.

Before upgrading:

Undertake a meticulous pre-upgrade assessment to identify and address potential issues

  • Backup Backup Backup – database, files and folders, and images, if you are using downloads, don’t forget to backup both the system and the storage download.
  • Review system requirements – mainly Opencart 4 needs PHP 8.0+, so make sure your hosting or servers can be upgraded to PHP 8.0+
  • Plan and check for extensions and themes – ensure all extensions, modules, and themes are available in Opencart version 4 to fulfill your requirements. Many modules are still not upgraded to the Opencart 4 version.
  • Review the custom modifications that are added to the OpenCart 3 installation, you’ll need to upgrade those changes to OpenCart 4. All OCMOD customization will not work on Opencart 4. Either you have to convert it to an event system or install the VqMod in Opencart 4 and change the OCMOD to VqMod
  • Prepare the staging/testing: Set up a staging environment and test the upgrade process there first. This allows you to identify and resolve any issues before applying the changes to your live store.

Backup of all things before you start and make sure twice everythinG is Backed up

While upgrading:

First, do everything in the development or testing environment and then only do the same thing to live servers. Download the Opencart 4.0.2.2 version, this is the latest while we were upgrading. Then, extract the zip file and upload all of the files inside the Upload folder to your server. In some of the cases we use SFTP, this is a way we do this if we have not set up any CI/CD for clients else we follow Continuous integration and continuous deployment.

File override while Opencart Upgrade

Once you upload all the files and folders, now run YOURWEBSITEURL/install, then you will see like below:

Opencart 4 admin url to upgrade

Patch one and Patch two are easily applied.

Opencart Upgrade process

We started seeing errors in Patch Third. We see errors like the following:
Error one:

SyntaxError: Unexpected token '<', "<b>Excepti"... is not valid JSON
parsererror
<b>Exception</b>: Error: Table storage engine for '#sql-263_175e' doesn't have this option<br/>Error No: 1031<br/>ALTER TABLE `oc_product_discount` ENGINE = `InnoDB` in <b>/home/rupaknpl/merging/system/library/db/mysqli.php</b> on line <b>68</b>
Opencart upgrade steps error

Maybe this issue is only for us in one client, some of their database tables were in InnoDB and some were in MyISAM. So to fix it we ran the following query.

SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=InnoDB;') 
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='MyISAM'
AND table_schema = 'YOUR_DATABASE_NAME';
MyISAM to INNODB

Successful upgrade

After the above fix, we ran YOURWEBSITEURL/install again and it went smoothly. The 3, 4,5,6, and 7 are also quick but 8 takes some time, so just have some patience and wait, 9 was quick overall time taken was around 7 mins. If you guys see any console errors that we did not mention above then please let us know and we can help you to fix them.

Upgrade process completion

Once the upgrade is complete.

Admin login issue

Now we tried to go to the admin section. We were not able to log in with the old username and password, so we had to insert the username and password from SQL. Here is the SQL that we use:

INSERT INTO `oc_user` (`user_group_id`,`username`,`password`,`firstname`,`lastname`,`email`,`image`,`code`,`ip`,`status`,`date_added`) VALUES (1,'admin','$2y$10$3Tofs9U7zGWhbQ67l7uageuxOjo6zU88pRESFZaxY.D3Ms4RSSIAu','John','Doe','youremail@gmail.com','','','::1',1,'2022-06-04 11:39:23');

With the run of the above query, now you can log in with username: admin and password: admin123. After you log in you can remove the /install folder, set the new storage folder, and rename the admin folder to your desired name.

Missing extensions:

In one of our clients, we saw all the installed extensions are missing, install Extensions are empty like below:

Missing extension in Opencart 4

We upload all the files and folders inside the /extension folder of the Opencart 4 zip extract. Then we ran the following queries to add all the opencart extension paths.

INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (1,1,'opencart');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (2,1,'opencart/admin');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (3,1,'opencart/admin/controller');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (4,1,'opencart/admin/controller/analytics');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (5,1,'opencart/admin/controller/analytics/index.html');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (6,1,'opencart/admin/controller/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (7,1,'opencart/admin/controller/captcha/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (8,1,'opencart/admin/controller/currency');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (9,1,'opencart/admin/controller/currency/ecb.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (10,1,'opencart/admin/controller/currency/fixer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (11,1,'opencart/admin/controller/dashboard');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (12,1,'opencart/admin/controller/dashboard/activity.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (13,1,'opencart/admin/controller/dashboard/chart.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (14,1,'opencart/admin/controller/dashboard/customer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (15,1,'opencart/admin/controller/dashboard/map.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (16,1,'opencart/admin/controller/dashboard/online.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (17,1,'opencart/admin/controller/dashboard/order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (18,1,'opencart/admin/controller/dashboard/recent.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (19,1,'opencart/admin/controller/dashboard/sale.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (20,1,'opencart/admin/controller/feed');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (21,1,'opencart/admin/controller/feed/index.html');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (22,1,'opencart/admin/controller/fraud');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (23,1,'opencart/admin/controller/fraud/ip.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (24,1,'opencart/admin/controller/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (25,1,'opencart/admin/controller/module/account.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (26,1,'opencart/admin/controller/module/banner.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (27,1,'opencart/admin/controller/module/bestseller.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (28,1,'opencart/admin/controller/module/category.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (29,1,'opencart/admin/controller/module/featured.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (30,1,'opencart/admin/controller/module/filter.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (31,1,'opencart/admin/controller/module/html.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (32,1,'opencart/admin/controller/module/information.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (33,1,'opencart/admin/controller/module/latest.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (34,1,'opencart/admin/controller/module/special.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (35,1,'opencart/admin/controller/module/store.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (36,1,'opencart/admin/controller/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (37,1,'opencart/admin/controller/payment/bank_transfer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (38,1,'opencart/admin/controller/payment/cheque.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (39,1,'opencart/admin/controller/payment/cod.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (40,1,'opencart/admin/controller/payment/free_checkout.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (41,1,'opencart/admin/controller/report');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (42,1,'opencart/admin/controller/report/customer_activity.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (43,1,'opencart/admin/controller/report/customer_order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (44,1,'opencart/admin/controller/report/customer_reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (45,1,'opencart/admin/controller/report/customer_search.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (46,1,'opencart/admin/controller/report/customer_transaction.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (47,1,'opencart/admin/controller/report/customer_subscription.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (48,1,'opencart/admin/controller/report/marketing.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (49,1,'opencart/admin/controller/report/product_purchased.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (50,1,'opencart/admin/controller/report/product_viewed.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (51,1,'opencart/admin/controller/report/sale_coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (52,1,'opencart/admin/controller/report/sale_order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (53,1,'opencart/admin/controller/report/sale_return.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (54,1,'opencart/admin/controller/report/sale_shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (55,1,'opencart/admin/controller/report/sale_tax.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (56,1,'opencart/admin/controller/shipping');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (57,1,'opencart/admin/controller/shipping/flat.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (58,1,'opencart/admin/controller/shipping/free.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (59,1,'opencart/admin/controller/shipping/item.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (60,1,'opencart/admin/controller/shipping/pickup.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (61,1,'opencart/admin/controller/shipping/weight.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (62,1,'opencart/admin/controller/theme');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (63,1,'opencart/admin/controller/theme/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (64,1,'opencart/admin/controller/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (65,1,'opencart/admin/controller/total/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (66,1,'opencart/admin/controller/total/credit.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (67,1,'opencart/admin/controller/total/handling.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (68,1,'opencart/admin/controller/total/low_order_fee.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (69,1,'opencart/admin/controller/total/reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (70,1,'opencart/admin/controller/total/shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (71,1,'opencart/admin/controller/total/sub_total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (72,1,'opencart/admin/controller/total/tax.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (73,1,'opencart/admin/controller/total/total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (74,1,'opencart/admin/controller/total/voucher.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (75,1,'opencart/admin/language');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (76,1,'opencart/admin/language/en-gb');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (77,1,'opencart/admin/language/en-gb/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (78,1,'opencart/admin/language/en-gb/captcha/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (79,1,'opencart/admin/language/en-gb/currency');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (80,1,'opencart/admin/language/en-gb/currency/ecb.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (81,1,'opencart/admin/language/en-gb/currency/fixer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (82,1,'opencart/admin/language/en-gb/dashboard');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (83,1,'opencart/admin/language/en-gb/dashboard/activity.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (84,1,'opencart/admin/language/en-gb/dashboard/chart.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (85,1,'opencart/admin/language/en-gb/dashboard/customer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (86,1,'opencart/admin/language/en-gb/dashboard/map.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (87,1,'opencart/admin/language/en-gb/dashboard/online.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (88,1,'opencart/admin/language/en-gb/dashboard/order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (89,1,'opencart/admin/language/en-gb/dashboard/recent.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (90,1,'opencart/admin/language/en-gb/dashboard/sale.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (91,1,'opencart/admin/language/en-gb/fraud');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (92,1,'opencart/admin/language/en-gb/fraud/ip.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (93,1,'opencart/admin/language/en-gb/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (94,1,'opencart/admin/language/en-gb/module/account.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (95,1,'opencart/admin/language/en-gb/module/banner.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (96,1,'opencart/admin/language/en-gb/module/bestseller.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (97,1,'opencart/admin/language/en-gb/module/category.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (98,1,'opencart/admin/language/en-gb/module/featured.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (99,1,'opencart/admin/language/en-gb/module/filter.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (100,1,'opencart/admin/language/en-gb/module/html.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (101,1,'opencart/admin/language/en-gb/module/information.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (102,1,'opencart/admin/language/en-gb/module/latest.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (103,1,'opencart/admin/language/en-gb/module/special.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (104,1,'opencart/admin/language/en-gb/module/store.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (105,1,'opencart/admin/language/en-gb/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (106,1,'opencart/admin/language/en-gb/payment/bank_transfer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (107,1,'opencart/admin/language/en-gb/payment/cheque.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (108,1,'opencart/admin/language/en-gb/payment/cod.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (109,1,'opencart/admin/language/en-gb/payment/free_checkout.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (110,1,'opencart/admin/language/en-gb/report');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (111,1,'opencart/admin/language/en-gb/report/customer_activity.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (112,1,'opencart/admin/language/en-gb/report/customer_order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (113,1,'opencart/admin/language/en-gb/report/customer_reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (114,1,'opencart/admin/language/en-gb/report/customer_search.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (115,1,'opencart/admin/language/en-gb/report/customer_transaction.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (116,1,'opencart/admin/language/en-gb/report/customer_subscription.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (117,1,'opencart/admin/language/en-gb/report/marketing.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (118,1,'opencart/admin/language/en-gb/report/product_purchased.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (119,1,'opencart/admin/language/en-gb/report/product_viewed.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (120,1,'opencart/admin/language/en-gb/report/sale_coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (121,1,'opencart/admin/language/en-gb/report/sale_order.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (122,1,'opencart/admin/language/en-gb/report/sale_return.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (123,1,'opencart/admin/language/en-gb/report/sale_shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (124,1,'opencart/admin/language/en-gb/report/sale_tax.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (125,1,'opencart/admin/language/en-gb/shipping');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (126,1,'opencart/admin/language/en-gb/shipping/flat.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (127,1,'opencart/admin/language/en-gb/shipping/free.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (128,1,'opencart/admin/language/en-gb/shipping/item.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (129,1,'opencart/admin/language/en-gb/shipping/pickup.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (130,1,'opencart/admin/language/en-gb/shipping/weight.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (131,1,'opencart/admin/language/en-gb/theme');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (132,1,'opencart/admin/language/en-gb/theme/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (133,1,'opencart/admin/language/en-gb/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (134,1,'opencart/admin/language/en-gb/total/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (135,1,'opencart/admin/language/en-gb/total/credit.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (136,1,'opencart/admin/language/en-gb/total/handling.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (137,1,'opencart/admin/language/en-gb/total/low_order_fee.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (138,1,'opencart/admin/language/en-gb/total/reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (139,1,'opencart/admin/language/en-gb/total/shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (140,1,'opencart/admin/language/en-gb/total/sub_total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (141,1,'opencart/admin/language/en-gb/total/tax.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (142,1,'opencart/admin/language/en-gb/total/total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (143,1,'opencart/admin/language/en-gb/total/voucher.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (144,1,'opencart/admin/model');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (145,1,'opencart/admin/model/dashboard');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (146,1,'opencart/admin/model/dashboard/map.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (147,1,'opencart/admin/model/fraud');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (148,1,'opencart/admin/model/fraud/ip.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (149,1,'opencart/admin/model/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (150,1,'opencart/admin/model/report');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (151,1,'opencart/admin/model/report/activity.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (152,1,'opencart/admin/model/report/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (153,1,'opencart/admin/model/report/customer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (154,1,'opencart/admin/model/report/customer_transaction.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (155,1,'opencart/admin/model/report/marketing.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (156,1,'opencart/admin/model/report/product.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (157,1,'opencart/admin/model/report/returns.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (158,1,'opencart/admin/model/report/sale.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (159,1,'opencart/admin/view');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (160,1,'opencart/admin/view/template');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (161,1,'opencart/admin/view/template/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (162,1,'opencart/admin/view/template/captcha/basic.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (163,1,'opencart/admin/view/template/currency');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (164,1,'opencart/admin/view/template/currency/ecb.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (165,1,'opencart/admin/view/template/currency/fixer.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (166,1,'opencart/admin/view/template/dashboard');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (167,1,'opencart/admin/view/template/dashboard/activity_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (168,1,'opencart/admin/view/template/dashboard/activity_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (169,1,'opencart/admin/view/template/dashboard/chart_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (170,1,'opencart/admin/view/template/dashboard/chart_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (171,1,'opencart/admin/view/template/dashboard/customer_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (172,1,'opencart/admin/view/template/dashboard/customer_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (173,1,'opencart/admin/view/template/dashboard/map_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (174,1,'opencart/admin/view/template/dashboard/map_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (175,1,'opencart/admin/view/template/dashboard/online_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (176,1,'opencart/admin/view/template/dashboard/online_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (177,1,'opencart/admin/view/template/dashboard/order_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (178,1,'opencart/admin/view/template/dashboard/order_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (179,1,'opencart/admin/view/template/dashboard/recent_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (180,1,'opencart/admin/view/template/dashboard/recent_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (181,1,'opencart/admin/view/template/dashboard/sale_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (182,1,'opencart/admin/view/template/dashboard/sale_info.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (183,1,'opencart/admin/view/template/fraud');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (184,1,'opencart/admin/view/template/fraud/ip.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (185,1,'opencart/admin/view/template/fraud/ip_ip.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (186,1,'opencart/admin/view/template/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (187,1,'opencart/admin/view/template/module/account.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (188,1,'opencart/admin/view/template/module/banner.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (189,1,'opencart/admin/view/template/module/bestseller.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (190,1,'opencart/admin/view/template/module/category.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (191,1,'opencart/admin/view/template/module/featured.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (192,1,'opencart/admin/view/template/module/filter.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (193,1,'opencart/admin/view/template/module/html.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (194,1,'opencart/admin/view/template/module/information.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (195,1,'opencart/admin/view/template/module/latest.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (196,1,'opencart/admin/view/template/module/special.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (197,1,'opencart/admin/view/template/module/store.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (198,1,'opencart/admin/view/template/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (199,1,'opencart/admin/view/template/payment/bank_transfer.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (200,1,'opencart/admin/view/template/payment/cheque.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (201,1,'opencart/admin/view/template/payment/cod.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (202,1,'opencart/admin/view/template/payment/free_checkout.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (203,1,'opencart/admin/view/template/report');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (204,1,'opencart/admin/view/template/report/customer_activity.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (205,1,'opencart/admin/view/template/report/customer_activity_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (206,1,'opencart/admin/view/template/report/customer_order.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (207,1,'opencart/admin/view/template/report/customer_order_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (208,1,'opencart/admin/view/template/report/customer_reward.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (209,1,'opencart/admin/view/template/report/customer_reward_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (210,1,'opencart/admin/view/template/report/customer_search.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (211,1,'opencart/admin/view/template/report/customer_search_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (212,1,'opencart/admin/view/template/report/customer_transaction.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (213,1,'opencart/admin/view/template/report/customer_transaction_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (214,1,'opencart/admin/view/template/report/customer_subscription.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (215,1,'opencart/admin/view/template/report/customer_subscription_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (216,1,'opencart/admin/view/template/report/marketing.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (217,1,'opencart/admin/view/template/report/marketing_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (218,1,'opencart/admin/view/template/report/product_purchased.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (219,1,'opencart/admin/view/template/report/product_purchased_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (220,1,'opencart/admin/view/template/report/product_viewed.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (221,1,'opencart/admin/view/template/report/product_viewed_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (222,1,'opencart/admin/view/template/report/sale_coupon.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (223,1,'opencart/admin/view/template/report/sale_coupon_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (224,1,'opencart/admin/view/template/report/sale_order.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (225,1,'opencart/admin/view/template/report/sale_order_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (226,1,'opencart/admin/view/template/report/sale_return.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (227,1,'opencart/admin/view/template/report/sale_return_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (228,1,'opencart/admin/view/template/report/sale_shipping.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (229,1,'opencart/admin/view/template/report/sale_shipping_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (230,1,'opencart/admin/view/template/report/sale_tax.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (231,1,'opencart/admin/view/template/report/sale_tax_form.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (232,1,'opencart/admin/view/template/shipping');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (233,1,'opencart/admin/view/template/shipping/flat.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (234,1,'opencart/admin/view/template/shipping/free.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (235,1,'opencart/admin/view/template/shipping/item.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (236,1,'opencart/admin/view/template/shipping/pickup.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (237,1,'opencart/admin/view/template/shipping/weight.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (238,1,'opencart/admin/view/template/theme');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (239,1,'opencart/admin/view/template/theme/basic.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (240,1,'opencart/admin/view/template/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (241,1,'opencart/admin/view/template/total/coupon.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (242,1,'opencart/admin/view/template/total/credit.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (243,1,'opencart/admin/view/template/total/handling.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (244,1,'opencart/admin/view/template/total/low_order_fee.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (245,1,'opencart/admin/view/template/total/reward.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (246,1,'opencart/admin/view/template/total/shipping.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (247,1,'opencart/admin/view/template/total/sub_total.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (248,1,'opencart/admin/view/template/total/tax.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (249,1,'opencart/admin/view/template/total/total.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (250,1,'opencart/admin/view/template/total/voucher.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (251,1,'opencart/catalog');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (252,1,'opencart/catalog/controller');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (253,1,'opencart/catalog/controller/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (254,1,'opencart/catalog/controller/captcha/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (255,1,'opencart/catalog/controller/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (256,1,'opencart/catalog/controller/module/account.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (257,1,'opencart/catalog/controller/module/banner.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (258,1,'opencart/catalog/controller/module/bestseller.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (259,1,'opencart/catalog/controller/module/category.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (260,1,'opencart/catalog/controller/module/featured.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (261,1,'opencart/catalog/controller/module/filter.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (262,1,'opencart/catalog/controller/module/html.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (263,1,'opencart/catalog/controller/module/information.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (264,1,'opencart/catalog/controller/module/latest.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (265,1,'opencart/catalog/controller/module/special.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (266,1,'opencart/catalog/controller/module/store.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (267,1,'opencart/catalog/controller/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (268,1,'opencart/catalog/controller/payment/bank_transfer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (269,1,'opencart/catalog/controller/payment/cheque.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (270,1,'opencart/catalog/controller/payment/cod.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (271,1,'opencart/catalog/controller/payment/free_checkout.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (272,1,'opencart/catalog/controller/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (273,1,'opencart/catalog/controller/total/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (274,1,'opencart/catalog/controller/total/reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (275,1,'opencart/catalog/controller/total/shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (276,1,'opencart/catalog/controller/total/voucher.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (277,1,'opencart/catalog/language');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (278,1,'opencart/catalog/language/en-gb');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (279,1,'opencart/catalog/language/en-gb/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (280,1,'opencart/catalog/language/en-gb/captcha/basic.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (281,1,'opencart/catalog/language/en-gb/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (282,1,'opencart/catalog/language/en-gb/module/account.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (283,1,'opencart/catalog/language/en-gb/module/bestseller.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (284,1,'opencart/catalog/language/en-gb/module/category.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (285,1,'opencart/catalog/language/en-gb/module/featured.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (286,1,'opencart/catalog/language/en-gb/module/filter.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (287,1,'opencart/catalog/language/en-gb/module/information.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (288,1,'opencart/catalog/language/en-gb/module/latest.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (289,1,'opencart/catalog/language/en-gb/module/special.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (290,1,'opencart/catalog/language/en-gb/module/store.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (291,1,'opencart/catalog/language/en-gb/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (292,1,'opencart/catalog/language/en-gb/payment/bank_transfer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (293,1,'opencart/catalog/language/en-gb/payment/cheque.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (294,1,'opencart/catalog/language/en-gb/payment/cod.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (295,1,'opencart/catalog/language/en-gb/payment/free_checkout.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (296,1,'opencart/catalog/language/en-gb/shipping');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (297,1,'opencart/catalog/language/en-gb/shipping/flat.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (298,1,'opencart/catalog/language/en-gb/shipping/free.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (299,1,'opencart/catalog/language/en-gb/shipping/item.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (300,1,'opencart/catalog/language/en-gb/shipping/pickup.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (301,1,'opencart/catalog/language/en-gb/shipping/weight.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (302,1,'opencart/catalog/language/en-gb/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (303,1,'opencart/catalog/language/en-gb/total/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (304,1,'opencart/catalog/language/en-gb/total/credit.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (305,1,'opencart/catalog/language/en-gb/total/handling.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (306,1,'opencart/catalog/language/en-gb/total/low_order_fee.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (307,1,'opencart/catalog/language/en-gb/total/reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (308,1,'opencart/catalog/language/en-gb/total/shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (309,1,'opencart/catalog/language/en-gb/total/sub_total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (310,1,'opencart/catalog/language/en-gb/total/total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (311,1,'opencart/catalog/language/en-gb/total/voucher.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (312,1,'opencart/catalog/model');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (313,1,'opencart/catalog/model/fraud');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (314,1,'opencart/catalog/model/fraud/ip.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (315,1,'opencart/catalog/model/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (316,1,'opencart/catalog/model/payment/bank_transfer.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (317,1,'opencart/catalog/model/payment/cheque.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (318,1,'opencart/catalog/model/payment/cod.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (319,1,'opencart/catalog/model/payment/free_checkout.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (320,1,'opencart/catalog/model/shipping');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (321,1,'opencart/catalog/model/shipping/flat.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (322,1,'opencart/catalog/model/shipping/free.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (323,1,'opencart/catalog/model/shipping/item.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (324,1,'opencart/catalog/model/shipping/pickup.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (325,1,'opencart/catalog/model/shipping/weight.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (326,1,'opencart/catalog/model/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (327,1,'opencart/catalog/model/total/coupon.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (328,1,'opencart/catalog/model/total/credit.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (329,1,'opencart/catalog/model/total/handling.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (330,1,'opencart/catalog/model/total/low_order_fee.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (331,1,'opencart/catalog/model/total/reward.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (332,1,'opencart/catalog/model/total/shipping.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (333,1,'opencart/catalog/model/total/sub_total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (334,1,'opencart/catalog/model/total/tax.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (335,1,'opencart/catalog/model/total/total.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (336,1,'opencart/catalog/model/total/voucher.php');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (337,1,'opencart/catalog/view');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (338,1,'opencart/catalog/view/template');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (339,1,'opencart/catalog/view/template/captcha');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (340,1,'opencart/catalog/view/template/captcha/basic.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (341,1,'opencart/catalog/view/template/module');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (342,1,'opencart/catalog/view/template/module/account.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (343,1,'opencart/catalog/view/template/module/banner.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (344,1,'opencart/catalog/view/template/module/bestseller.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (345,1,'opencart/catalog/view/template/module/category.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (346,1,'opencart/catalog/view/template/module/featured.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (347,1,'opencart/catalog/view/template/module/filter.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (348,1,'opencart/catalog/view/template/module/html.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (349,1,'opencart/catalog/view/template/module/information.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (350,1,'opencart/catalog/view/template/module/latest.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (351,1,'opencart/catalog/view/template/module/special.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (352,1,'opencart/catalog/view/template/module/store.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (353,1,'opencart/catalog/view/template/payment');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (354,1,'opencart/catalog/view/template/payment/bank_transfer.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (355,1,'opencart/catalog/view/template/payment/cheque.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (356,1,'opencart/catalog/view/template/payment/cod.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (357,1,'opencart/catalog/view/template/payment/free_checkout.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (358,1,'opencart/catalog/view/template/total');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (359,1,'opencart/catalog/view/template/total/coupon.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (360,1,'opencart/catalog/view/template/total/reward.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (361,1,'opencart/catalog/view/template/total/shipping.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (362,1,'opencart/catalog/view/template/total/voucher.twig');
INSERT INTO `oc_extension_path` (`extension_path_id`,`extension_install_id`,`path`) VALUES (363,1,'opencart/install.json');

Likewise, to fix the above issue we ran another query to insert the extension install.

INSERT INTO `oc_extension_install` (`extension_install_id`,`extension_id`,`extension_download_id`,`name`,`code`,`version`,`author`,`link`,`status`,`date_added`) VALUES (1,0,0,'OpenCart Default Extensions','opencart','1.0','OpenCart Ltd','http://www.opencart.com',1,'2020-08-29 15:35:39');

With those above three steps, we were able to see all the extensions again.

Admin Dashboard is empty

All of the admin dashboard reports were missing.

Empty dashboard

To add reports in the admin dashboard of Opencart 4, we follow the instructions on this blog:

SEO URL changes in Opencart 4

Database SEO table oc_seo_url was not updated or transferred fully as the Opencart version 4 change added a new table structure. The oc_seo_url table is fixed by running the following queries:

UPDATE `oc_seo_url` SET `key` = SUBSTRING_INDEX(query, '=', 1), `value` = SUBSTRING_INDEX(query, '=', -1)
SEO table changes

Install Extensions

After upgrading, make sure you install all the extensions again so that you don’t conflict with any other things.

After upgrade

Functionality Testing: Thoroughly test all website functionalities, check for add to cart, all pages like home, product, category, cart, checkout, etc, sign up, log in, forget the password, etc.

Extensions Testing: Check all extensions are installed, and make sure you check the Order Totals, payments, shipping, modules, etc.

Checkout Page: Opencart 4 has a one-page checkout by default so check if it is showing the right shipping address, payment address, shipping methods, and payment methods and see if the totals are correct.

Coupon Functionalities: Check for coupon functionalities.

SEO Review: Verify that SEO elements such as meta titles, meta descriptions, header tags, and URLs are showing correctly on the page. See the top 25 opencart SEO best practices.

Security Audit: Conduct a security audit to identify and address potential vulnerabilities.

Mail Function: Don’t forget to check the email functionalities.

Product Feeds: Enabled your feed and sitemap. And don’t forget to submit your sitemap to Google Webmaster.

Test Thoroughly: After upgrading, test your store to ensure that all functionalities, extensions, and themes are working correctly. Check for any broken links (we mostly check with https://www.brokenlinkcheck.com), missing images, or other issues.

Monitor Performance: After the upgrade, keep an eye on your store’s performance, and address any performance issues.

Analytics and Tracking: Check your analytics and tracking codes.

Please take a look at the OpenCart Site Launch Checklist, we have listed most of the functionality to test before launch.

Conclusion

In this way, you can upgrade Opencart from version 3 to 4, it is a complex process, and it’s common for some issues to surface post-upgrade. Being proactive in testing, monitoring, and addressing issues will help ensure that your website remains functional and user-friendly after the upgrade.  Upgrade your OpenCart e-commerce platform effortlessly with our professional services. Enjoy enhanced features, improved security, and a smoother user experience. Contact us for a seamless upgrade process. Please let us know if you faced any problems while upgrading Opencart and have questions or concerns so that we can help you out, similarly, let us know if there are other best solutions. Till then please subscribe to our YouTube Channel for Opencart video tutorials. You can also find us on Twitter and Facebook.

Previous articleUnleash Your Creativity With AI Tools for UX Design
Next articleEdge AI: discover the near future of Artificial Intelligence

LEAVE A REPLY

Please enter your comment!
Please enter your name here