0

After migration everything is working except category issue. Not able to add or update category, getting this error in exception.log

[2018-02-10 20:18:00] main.CRITICAL: exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (newdb.magento_catalog_category_entity_varchar, CONSTRAINT CATALOG_CATEGORY_ENTITY_VARCHAR_STORE_ID_STORE_STORE_ID FOREIGN KEY (store_id) REFERENCES magento_store (store_id) ON D)' in /home/domain/public_html/vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php:228 Stack trace: 0/home/domain/public_html/vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)

1 /home/domain/public_html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php(95): Zend_Db_Statement_Pdo->_execute(Array)

2 home/domain/public_html/vendor/magento/zendframework1/library/Zend/Db/Statement.php(303): Magento\Framework\DB\Statement\Pdo\Mysql->_execute(Array)

3 /home/domain/public_html/vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)

4 /home/domain/public_html/vendor/magento/zendframework1/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `mg...', Array)

5 /home/domain/public_html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php(452): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `mg...', Array)

6 /home/domain/public_html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php(507): Magento\Framework\DB\Adapter\Pdo\Mysql->_query('INSERT INTO `mg...', Array)

7 /home/domain/public_html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php(1851): Magento\Framework\DB\Adapter\Pdo\Mysql->query('INSERT INTO `mg...', Array)

8 /home/domain/public_html/vendor/magento/module-eav/Model/ResourceModel/AttributePersistor.php(165): Magento\Framework\DB\Adapter\Pdo\Mysql->insertOnDuplicate('magento_catalog_ca...', Array)

9 /home/domain/public_html/vendor/magento/module-eav/Model/ResourceModel/AttributePersistor.php(219): Magento\Eav\Model\ResourceModel\AttributePersistor->processInserts('Magento\Catalog...', Array)

10 /home/domain/public_html/vendor/magento/module-eav/Model/ResourceModel/CreateHandler.php(115): Magento\Eav\Model\ResourceModel\AttributePersistor->flush('Magento\Catalog...', Array)

11 /home/domain/public_html/vendor/magento/framework/EntityManager/Operation/Create/CreateAttributes.php(59): Magento\Eav\Model\ResourceModel\CreateHandler->execute('Magento\Catalog...', Array, Array)

12 /home/domain/public_html/vendor/magento/framework/EntityManager/Operation/Create.php(106): Magento\Framework\EntityManager\Operation\Create\CreateAttributes->execute(Object(Plazathemes\Override\Model\Category\Interceptor), Array)

13 /home/domain/public_html/vendor/magento/framework/EntityManager/EntityManager.php(87): Magento\Framework\EntityManager\Operation\Create->execute(Object(Plazathemes\Override\Model\Category\Interceptor), Array)

14 /home/domain/public_html/vendor/magento/module-catalog/Model/ResourceModel/Category.php(1025): Magento\Framework\EntityManager\EntityManager->save(Object(Plazathemes\Override\Model\Category\Interceptor))

15 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Catalog\Model\ResourceModel\Category->save(Object(Plazathemes\Override\Model\Category\Interceptor))

16 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Catalog\Model\ResourceModel\Category\Interceptor->___callParent('save', Array)

17 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Catalog...', 'save', Object(Magento\Catalog\Model\ResourceModel\Category\Interceptor), Array, 'clean_cache')

18 /home/domain/public_html/vendor/magento/framework/App/Cache/FlushCacheByTags.php(60): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Plazathemes\Override\Model\Category\Interceptor))

19 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Framework\App\Cache\FlushCacheByTags->aroundSave(Object(Magento\Catalog\Model\ResourceModel\Category\Interceptor), Object(Closure), Object(Plazathemes\Override\Model\Category\Interceptor))

20 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Catalog...', 'save', Object(Magento\Catalog\Model\ResourceModel\Category\Interceptor), Array, 'catalogsearchFu...')

21 /home/domain/public_html/vendor/magento/module-catalog-search/Model/Indexer/Fulltext/Plugin/Category.php(43): Magento\Catalog\Model\ResourceModel\Category\Interceptor->Magento\Framework\Interception{closure}(Object(Plazathemes\Override\Model\Category\Interceptor))

22 /home/domain/public_html/vendor/magento/module-catalog-search/Model/Indexer/Fulltext/Plugin/Category.php(29): Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Category->addCommitCallback(Object(Magento\Catalog\Model\ResourceModel\Category\Interceptor), Object(Closure), Object(Plazathemes\Override\Model\Category\Interceptor))

23 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Category->aroundSave(Object(Magento\Catalog\Model\ResourceModel\Category\Interceptor), Object(Closure), Object(Plazathemes\Override\Model\Category\Interceptor))

24 /home/domain/public_html/var/generation/Magento/Catalog/Model/ResourceModel/Category/Interceptor.php(364): Magento\Catalog\Model\ResourceModel\Category\Interceptor->___callPlugins('save', Array, Array)

25 /home/domain/public_html/vendor/magento/framework/Model/AbstractModel.php(631): Magento\Catalog\Model\ResourceModel\Category\Interceptor->save(Object(Plazathemes\Override\Model\Category\Interceptor))

26 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\Model\AbstractModel->save()

27 /home/domain/public_html/var/generation/Plazathemes/Override/Model/Category/Interceptor.php(1547): Plazathemes\Override\Model\Category\Interceptor->___callPlugins('save', Array, Array)

28 /home/domain/public_html/vendor/magento/module-catalog/Controller/Adminhtml/Category/Save.php(203): Plazathemes\Override\Model\Category\Interceptor->save()

29 /home/domain/public_html/var/generation/Plazathemes/Override/Controller/Adminhtml/Category/Save/Interceptor.php(37): Magento\Catalog\Controller\Adminhtml\Category\Save->execute()

30 /home/domain/public_html/vendor/magento/framework/App/Action/Action.php(102): Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor->execute()

31 /home/domain/public_html/vendor/magento/module-backend/App/AbstractAction.php(226): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))

32 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))

33 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor->___callParent('dispatch', Array)

34 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Plazathemes\Ove...', 'dispatch', Object(Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor), Array, 'adminAuthentica...')

35 /home/domain/public_html/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

36 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

37 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Plazathemes\Ove...', 'dispatch', Object(Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor), Array, 'adminMassaction...')

38 /home/domain/public_html/vendor/magento/module-backend/App/Action/Plugin/MassactionKey.php(33): Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

39 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch(Object(Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

40 /home/domain/public_html/var/generation/Plazathemes/Override/Controller/Adminhtml/Category/Save/Interceptor.php(65): Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor->___callPlugins('dispatch', Array, Array)

41 /home/domain/public_html/vendor/magento/framework/App/FrontController.php(55): Plazathemes\Override\Controller\Adminhtml\Category\Save\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

42 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))

43 /home/domain/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)

44 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')

45 /home/domain/public_html/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

46 /home/domain/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

47 /home/domain/public_html/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)

48 /home/domain/public_html/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

49 /home/domain/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()

50 /home/domain/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))

51 {main}

1 Answer 1

0

Problem with foreigh key between tables magento_catalog_category_entity_varchar and magento_store.

Please check what kind of values you have for column store_id in magento_catalog_category_entity_varchar and if this value is existing in magento_store.

3
  • Both table have similar values, column with same name, here is the screenshot. magento_store = prntscr.com/id6wro magento_catalog_category_entity_varchar = prntscr.com/id6wmj Commented Feb 11, 2018 at 14:41
  • Looks like some problem with migration in that case. Did you tried to upgrade to 2.1.11 (latest stable version of 2.1 release)? Commented Feb 11, 2018 at 19:29
  • thanks for your efforts and response friend, i figured it out, actually table type was changed from InnoDB somehow, had reverted and all seems fine now. Commented Feb 12, 2018 at 20:28

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.