After migrating Magento 1 products to Magento 2 I get this error in backend when opening products:
{"0":"Class eav/entity_attribute_backend_array does not exist","1":"#1 Magento\Framework\Code\Reader\ClassReader->getConstructor() called at [vendor/magento/framework/ObjectManager/Definition/Runtime.php:49]\n#2 Magento\Framework\ObjectManager\Definition\Runtime->getParameters() ... /","script_name":"/index.php"}
Before importing products I have imported categories and attributes. Magento 1.9.3. -> Magento 2.3.2
2 Answers 2
You have to run below query for identifying that attribute
SELECT * FROM eav_attribute WHERE backend_model = 'eav/entity_attribute_backend_array'
You have to change backend_model this attribute from database .
Replace With This:-
Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend
The Magento Data Migration tool does not handle all possible eav_attribute rows cleanly by default.
I suspect that your M1 data base includes rows in eav_attribute that have a backend_model value of "eav/entity_attribute_backend_array". These may have been migrated as-is to M2. If so, they will need to be updated to "Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend".
In general, all values in M1 eav_attribute.source_model and eav_attribute.backend_model should be reviewed and updated as necessary to the equivalent M2 classes.
It is possible to customize the Data Migration tool, but it may not be worth it for a few cases that can be easily resolved by updating the database.