I have created Simple Module in Magento 2.4.1. After creating a module I have tried to run php bin/magento setup:upgrade command but it gives error of SQLSTATE[42S02]: Base table or view not found: 1932 Table ‘furniturestore.catalog_product_index_eav’ doesn’t exist in engine, query was: SHOW INDEXES FROM catalog_product_index_eav
WHERE Non_unique
= 1. I have also tried for running php bin/magento indexer:reindex but it gives error of Product EAV index exception: SQLSTATE[HY000]: General error: 1025 Error on rename of ‘.furniturestorecatalog_product_index_eav’ to ‘.furniturestorecatalog_product_index_eav_outdated'(errno: 155 "The table does not exist in the storage engine"), query was: RENAME TABLE catalog_product_index_eav TO catalog_product_index_eav_outdated,catalog_product_index_eav_replica TO catalog_product_index_eav,catalog_product_index_eav_outdated TO catalog_product_index_eav_replica.
2
Answers
In order to resolve this issue, you need to create a flat table catalog_category_flat_store_1.
Disable magento Catalog Flat for Category from Admin>Store>Catalog>Catalog>Use Flat Catalog Category. Make it ‘NO’.
Then Flush magento Cache by
php bin/magento cache:flush
Then you should drop the table catalog_category_flat_store_1, if it is exists in the db, by drop table catalog_category_flat_store_1.
Next enable Catalog Flat for Category by Use Flat Catalog Category. Make it ‘yes’.
Finally, you need to index from magento cli :
php bin/magento indexer:reindex
.TO resolve this issue, you need to create a flat table catalog_product_index_eav.
For more info see create table