When you try to install the Magento smile elasticsuite extension to your system and on setup:upgrade command run time if you facing an error like Base Table or View not found error,
-
-
- Base table or view not found: 1146 Table ‘magento.smile_elasticsuitecatalog_search_query_product_position’ doesn’t exist
- BEGIN INSERT IGNORE INTO ‘catalogsearch_fulltext_cl’ (‘entity_id’) VALUES (NEW.’product_id’); END
-
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento.smile_elasticsuitecatalog_search_query_product_position' doesn't exist, query was: CREATE TRIGGER trg_smile_elasticsuitecat_srch_qr_prd_position_after_insert AFTER INSERT ON smile_elasticsuitecatalog_search_query_product_position FOR EACH ROW BEGIN INSERT IGNORE INTO `catalogsearch_fulltext_cl` (`entity_id`) VALUES (NEW.`product_id`); END
You can fix it by applying the patch from the given GitHub link.
https://github.com/magento/magento2/pull/33092/files
A Patch file looks like,
--- a/magento/magento2-base/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php 2024-10-09 10:21:45.156058423 +0000 +++ b/magento/magento2-base/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php 2024-10-09 10:20:55.142282329 +0000 @@ -31,7 +31,7 @@ /** * Option to skip deletion of generated/code directory. */ - const INPUT_KEY_KEEP_GENERATED = 'keep-generated'; + public const INPUT_KEY_KEEP_GENERATED = 'keep-generated'; /** * Installer service factory. @@ -142,8 +142,8 @@ $searchConfig = $this->searchConfigFactory->create(); $this->cache->clean(); $searchConfig->validateSearchEngine(); - $installer->removeUnusedTriggers(); $installer->installSchema($request); + $installer->removeUnusedTriggers(); $installer->installDataFixtures($request, true); if ($this->deploymentConfig->isAvailable()) {
Using the above link, You can create a custom patch to apply in your system once patch is applied to the system. You can run the again setup:upgrade command.
You can able to run successfully upgrade command successfully without any errors.
Thank you.