Іноді, коли ви використовуєте Magento 2, ви можете отримати помилку Magento catalog_product_super_link table doesn`t exists . Вона з’являється через те, що якийсь модуль намагається зробити SQL запит із SQL query, який містить таблицю "catalog_product_super_link", а таблиці не існує. Тож насправді помилка сама себе пояснює.
Чому таблиці catalog_product_super_link може не існувати?
Ця таблиця визначена в модулі Magento 2 Magento_ConfigurableProduct. Тому, будь ласка, переконайтеся, що він увімкнений в app/etc/config.php. Якщо ні, увімкніть його, змінивши 0 на 1 у правій частині, наприклад:
'Magento_ConfigurableProduct' => 1,
Потім виконайте наступні команди:
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
Якщо це не допомогло, то ви можете створити таблицю за допомогою цих запитів SQL (ви можете запустити їх, наприклад, у phpMyAdmin):
Увага! Замініть "prefix_" і "PREFIX_" вашим фактичним префіксом бази даних Magento 2 або просто видаліть їх, якщо ви не використовуєте префікс для імен таблиць бази даних.
CREATE TABLE `prefix_catalog_product_super_link` (
`link_id` int UNSIGNED NOT NULL COMMENT 'Link ID',
`product_id` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Product ID',
`parent_id` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Parent ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='Catalog Product Super Link Table';
ALTER TABLE `prefix_catalog_product_super_link`
ADD PRIMARY KEY (`link_id`),
ADD UNIQUE KEY `PREFIX_CATALOG_PRODUCT_SUPER_LINK_PRODUCT_ID_PARENT_ID` (`product_id`,`parent_id`),
ADD KEY `PREFIX_CATALOG_PRODUCT_SUPER_LINK_PARENT_ID` (`parent_id`);
ALTER TABLE `prefix_catalog_product_super_link`
MODIFY `link_id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Link ID';
ALTER TABLE `prefix_catalog_product_super_link`
ADD CONSTRAINT `PREFIX_CAT_PRD_SPR_LNK_PARENT_ID_PREFIX_CAT_PRD_ENTT_ENTT_ID` FOREIGN KEY (`parent_id`) REFERENCES `prefix_catalog_product_entity` (`entity_id`) ON DELETE CASCADE,
ADD CONSTRAINT `PREFIX_CAT_PRD_SPR_LNK_PRD_ID_PREFIX_CAT_PRD_ENTT_ENTT_ID` FOREIGN KEY (`product_id`) REFERENCES `prefix_catalog_product_entity` (`entity_id`) ON DELETE CASCADE;
COMMIT;