Skip to content

Add Support for Table Prefixes #141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 3, 2023
Merged

Conversation

pykettk
Copy link
Contributor

@pykettk pykettk commented Oct 3, 2023

Description

Whilst working on a merchant project I encountered an issue where the module could not find the base importexport_importdata table when navigating to the import page in the admin - System -> Data Transfer -> Import. This was caused by the fact that the merchant utilises the table prefix available in Magento.

Full stack trace for reference.
Magento\Framework\DB\Adapter\TableNotFoundException thrown with message "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento2.importexport_importdata' doesn't exist, query was: CREATE TEMPORARY TABLE IF NOT EXISTS `importexport_importdata_tmp` LIKE `importexport_importdata`"

Stacktrace:
#82 Magento\Framework\DB\Adapter\TableNotFoundException in /var/www/html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:603
#81 Zend_Db_Statement_Exception in /var/www/html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:109
#80 PDOException in /var/www/html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:90
#79 PDOStatement:execute in /var/www/html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:90
#78 Magento\Framework\DB\Statement\Pdo\Mysql:Magento\Framework\DB\Statement\Pdo\{closure} in /var/www/html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:106
#77 Magento\Framework\DB\Statement\Pdo\Mysql:tryExecute in /var/www/html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:91
#76 Magento\Framework\DB\Statement\Pdo\Mysql:_execute in /var/www/html/vendor/magento/zendframework1/library/Zend/Db/Statement.php:313
#75 Zend_Db_Statement:execute in /var/www/html/vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php:480
#74 Zend_Db_Adapter_Abstract:query in /var/www/html/vendor/magento/zendframework1/library/Zend/Db/Adapter/Pdo/Abstract.php:238
#73 Zend_Db_Adapter_Pdo_Abstract:query in /var/www/html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:564
#72 Magento\Framework\DB\Adapter\Pdo\Mysql:_query in /var/www/html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:634
#71 Magento\Framework\DB\Adapter\Pdo\Mysql:query in /var/www/html/generated/code/Magento/Framework/DB/Adapter/Pdo/Mysql/Interceptor.php:95
#70 Magento\Framework\DB\Adapter\Pdo\Mysql\Interceptor:query in /var/www/html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:2241
#69 Magento\Framework\DB\Adapter\Pdo\Mysql:createTemporaryTableLike in /var/www/html/generated/code/Magento/Framework/DB/Adapter/Pdo/Mysql/Interceptor.php:437
#68 Magento\Framework\DB\Adapter\Pdo\Mysql\Interceptor:createTemporaryTableLike in /var/www/html/vendor/firegento/fastsimpleimport/ResourceModel/ImportData.php:40
#67 FireGento\FastSimpleImport\ResourceModel\ImportData:_construct in /var/www/html/vendor/magento/framework/Model/ResourceModel/AbstractResource.php:42
#66 Magento\Framework\Model\ResourceModel\AbstractResource:__construct in /var/www/html/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php:136
#65 Magento\Framework\Model\ResourceModel\Db\AbstractDb:__construct in /var/www/html/vendor/magento/module-import-export/Model/ResourceModel/Import/Data.php:40
#64 Magento\ImportExport\Model\ResourceModel\Import\Data:__construct in /var/www/html/vendor/firegento/fastsimpleimport/ResourceModel/ImportData.php:31
#63 FireGento\FastSimpleImport\ResourceModel\ImportData:__construct in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:121
#62 Magento\Framework\ObjectManager\Factory\AbstractFactory:createObject in /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:66
#61 Magento\Framework\ObjectManager\Factory\Dynamic\Developer:create in /var/www/html/vendor/magento/framework/ObjectManager/ObjectManager.php:70
#60 Magento\Framework\ObjectManager\ObjectManager:get in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:170
#59 Magento\Framework\ObjectManager\Factory\AbstractFactory:resolveArgument in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:276
#58 Magento\Framework\ObjectManager\Factory\AbstractFactory:getResolvedArgument in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:239
#57 Magento\Framework\ObjectManager\Factory\AbstractFactory:resolveArgumentsInRuntime in /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:34
#56 Magento\Framework\ObjectManager\Factory\Dynamic\Developer:_resolveArguments in /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:59
#55 Magento\Framework\ObjectManager\Factory\Dynamic\Developer:create in /var/www/html/vendor/magento/framework/ObjectManager/ObjectManager.php:70
#54 Magento\Framework\ObjectManager\ObjectManager:get in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:170
#53 Magento\Framework\ObjectManager\Factory\AbstractFactory:resolveArgument in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:276
#52 Magento\Framework\ObjectManager\Factory\AbstractFactory:getResolvedArgument in /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:239
#51 Magento\Framework\ObjectManager\Factory\AbstractFactory:resolveArgumentsInRuntime in /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:34
#50 Magento\Framework\ObjectManager\Factory\Dynamic\Developer:_resolveArguments in /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:59
#49 Magento\Framework\ObjectManager\Factory\Dynamic\Developer:create in /var/www/html/vendor/magento/framework/ObjectManager/ObjectManager.php:56
#48 Magento\Framework\ObjectManager\ObjectManager:create in /var/www/html/vendor/magento/framework/View/Element/BlockFactory.php:44
#47 Magento\Framework\View\Element\BlockFactory:createBlock in /var/www/html/vendor/magento/framework/View/Layout/Generator/Block.php:272
#46 Magento\Framework\View\Layout\Generator\Block:getBlockInstance in /var/www/html/vendor/magento/framework/View/Layout/Generator/Block.php:252
#45 Magento\Framework\View\Layout\Generator\Block:createBlock in /var/www/html/vendor/magento/framework/View/Layout/Generator/Block.php:229
#44 Magento\Framework\View\Layout\Generator\Block:generateBlock in /var/www/html/vendor/magento/framework/View/Layout/Generator/Block.php:134
#43 Magento\Framework\View\Layout\Generator\Block:process in /var/www/html/vendor/magento/framework/View/Layout/GeneratorPool.php:93
#42 Magento\Framework\View\Layout\GeneratorPool:process in /var/www/html/vendor/magento/framework/View/Layout.php:365
#41 Magento\Framework\View\Layout:generateElements in /var/www/html/generated/code/Magento/Framework/View/Layout/Interceptor.php:68
#40 Magento\Framework\View\Layout\Interceptor:generateElements in /var/www/html/vendor/magento/framework/View/Layout/Builder.php:129
#39 Magento\Framework\View\Layout\Builder:generateLayoutBlocks in /var/www/html/vendor/magento/framework/View/Page/Builder.php:65
#38 Magento\Framework\View\Page\Builder:generateLayoutBlocks in /var/www/html/vendor/magento/framework/View/Layout/Builder.php:65
#37 Magento\Framework\View\Layout\Builder:build in /var/www/html/vendor/magento/framework/View/Layout.php:271
#36 Magento\Framework\View\Layout:build in /var/www/html/vendor/magento/framework/View/Layout.php:896
#35 Magento\Framework\View\Layout:getBlock in /var/www/html/generated/code/Magento/Framework/View/Layout/Interceptor.php:293
#34 Magento\Framework\View\Layout\Interceptor:getBlock in /var/www/html/vendor/magento/module-backend/Model/View/Result/Page.php:26
#33 Magento\Backend\Model\View\Result\Page:setActiveMenu in /var/www/html/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php:23
#32 Magento\Backend\Model\View\Result\Page\Interceptor:setActiveMenu in /var/www/html/vendor/magento/module-import-export/Controller/Adminhtml/Import/Index.php:26
#31 Magento\ImportExport\Controller\Adminhtml\Import\Index:execute in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:58
#30 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:___callParent in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:138
#29 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:153
#28 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:___callPlugins in /var/www/html/generated/code/Magento/ImportExport/Controller/Adminhtml/Import/Index/Interceptor.php:23
#27 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:execute in /var/www/html/vendor/magento/framework/App/Action/Action.php:111
#26 Magento\Framework\App\Action\Action:dispatch in /var/www/html/vendor/magento/module-backend/App/AbstractAction.php:151
#25 Magento\Backend\App\AbstractAction:dispatch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:58
#24 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:___callParent in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:138
#23 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/weltpixel/m2-weltpixel-backend/Plugin/Utility.php:76
#22 WeltPixel\Backend\Plugin\Utility:aroundDispatch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:135
#21 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/magento/module-backend/App/Action/Plugin/Authentication.php:145
#20 Magento\Backend\App\Action\Plugin\Authentication:aroundDispatch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:135
#19 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:153
#18 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:___callPlugins in /var/www/html/generated/code/Magento/ImportExport/Controller/Adminhtml/Import/Index/Interceptor.php:32
#17 Magento\ImportExport\Controller\Adminhtml\Import\Index\Interceptor:dispatch in /var/www/html/vendor/magento/framework/App/FrontController.php:245
#16 Magento\Framework\App\FrontController:getActionResponse in /var/www/html/vendor/magento/framework/App/FrontController.php:212
#15 Magento\Framework\App\FrontController:processRequest in /var/www/html/vendor/magento/framework/App/FrontController.php:147
#14 Magento\Framework\App\FrontController:dispatch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:58
#13 Magento\Framework\App\FrontController\Interceptor:___callParent in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:138
#12 Magento\Framework\App\FrontController\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:153
#11 Magento\Framework\App\FrontController\Interceptor:___callPlugins in /var/www/html/generated/code/Magento/Framework/App/FrontController/Interceptor.php:23
#10 Magento\Framework\App\FrontController\Interceptor:dispatch in /var/www/html/vendor/magento/framework/App/Http.php:116
#9 Magento\Framework\App\Http:launch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:58
#8 Magento\Framework\App\Http\Interceptor:___callParent in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:138
#7 Magento\Framework\App\Http\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/msp/adminrestriction/Plugin/AppInterfacePlugin.php:134
#6 MSP\AdminRestriction\Plugin\AppInterfacePlugin:aroundLaunch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:135
#5 Magento\Framework\App\Http\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/yireo/magento2-whoops/Plugin/HttpApp.php:102
#4 Yireo\Whoops\Plugin\HttpApp:aroundLaunch in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:135
#3 Magento\Framework\App\Http\Interceptor:Magento\Framework\Interception\{closure} in /var/www/html/vendor/magento/framework/Interception/Interceptor.php:153
#2 Magento\Framework\App\Http\Interceptor:___callPlugins in /var/www/html/generated/code/Magento/Framework/App/Http/Interceptor.php:23
#1 Magento\Framework\App\Http\Interceptor:launch in /var/www/html/vendor/magento/framework/App/Bootstrap.php:264
#0 Magento\Framework\App\Bootstrap:run in /var/www/html/pub/index.php:30
Magento\Framework\DB\Adapter\TableNotFoundException thrown with message "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento2.importexport_importdata' doesn't exist, query was: CREATE TEMPORARY TABLE IF NOT EXISTS `importexport_importdata_tmp` LIKE `importexport_importdata`"

@sprankhub sprankhub merged commit 1e52e46 into firegento:develop Oct 3, 2023
@sprankhub
Copy link
Member

Thanks!

@pykettk pykettk deleted the patch-1 branch October 3, 2023 09:49
@pykettk
Copy link
Contributor Author

pykettk commented Oct 3, 2023

That was fast! Thanks @sprankhub 🧡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants