Іноді під час використання Magento 2 ви можете отримати помилку Таблиця catalog_product_super_link Magento не існує . Вона з'являється, тому що якийсь модуль намагається зробити SQL-запит із SQL-запитом, який містить таблицю "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;