Ошибка импорта CSV На рассмотрении
Экспортировал список товаров в csv-файл, внес изменения в одном столбце, обратно отказывается импортироваться - зависает на 54,7%. Пробовал несколько раз.
Логирование показывает следующее:
wa-log/db.log 2017-07-05 04:40:14 188.187.24.88 Query Error 1062: Duplicate entry '121-интерактивное видео Виртуальный' for key 'values' Query: INSERT INTO shop_feature_values_varchar (`value`, `feature_id`, `sort`) VALUES ('интерактивное видео Виртуальный ландшафт™ (<a href=\"http://sport-bat.ru/pages/virtualnyy-landshaft-virtual-active/\" target=\"_blank\">Virtual Active</a>™), сбор данных состояния тренажера (WI-FI->роутер Asset Management™->Johnson WEB online), сбор и анализ', '121', '70') ## wa-system/database/waModel.class.php(243) #0 wa-system/database/waModel.class.php(343): waModel->run('INSERT INTO sh...') #1 wa-system/database/waModel.class.php(569): waModel->query('INSERT INTO sh...') #2 wa-apps/shop/lib/model/shopSortable.model.php(129): waModel->insert(Array, 0) #3 wa-apps/shop/lib/model/shopFeatureValues.model.php(176): shopSortableModel->insert(Array) #4 wa-apps/shop/lib/model/shopFeatureValues.model.php(199): shopFeatureValuesModel->getId('121', '???????????????...', 'varchar', true) #5 wa-apps/shop/lib/model/shopFeature.model.php(476): shopFeatureValuesModel->getValueId('121', '???????????????...', 'varchar', true) #6 wa-apps/shop/lib/model/shopProductFeatures.model.php(409): shopFeatureModel->getValueId(Array, '???????????????...', true) #7 wa-apps/shop/lib/classes/shopProduct.class.php(444): shopProductFeaturesModel->setData(Object(shopProduct), Array) #8 wa-apps/shop/lib/classes/shopProduct.class.php(341): shopProduct->saveData(Array) #9 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1423): shopProduct->save(Array) #10 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(821): shopCsvProductrunController->stepImportSku(Array) #11 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(776): shopCsvProductrunController->stepImport() #12 wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step() #13 wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(737): waLongActionController->execute() #15 wa-system/controller/waFrontController.class.php(229): waController->run(NULL) #16 wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopCsvProductrunController), NULL) #17 wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun') #18 wa-system/waSystem.class.php(544): waFrontController->dispatch() #19 wa-system/waSystem.class.php(483): waSystem->dispatchBackend('webasyst/shop/') #20 index.php(7): waSystem->dispatch() #21 {main
wa-log/shop/csvproducts.log import: Database error. See log for details. #0 /home/s/sportbatru/public_html/wa-system/database/waModel.class.php(343): waModel->run('INSERT INTO sh...') #1 /home/s/sportbatru/public_html/wa-system/database/waModel.class.php(569): waModel->query('INSERT INTO sh...') #2 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopSortable.model.php(129): waModel->insert(Array, 0) #3 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeatureValues.model.php(176): shopSortableModel->insert(Array) #4 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeatureValues.model.php(199): shopFeatureValuesModel->getId('121', '???????????????...', 'varchar', true) #5 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopFeature.model.php(476): shopFeatureValuesModel->getValueId('121', '???????????????...', 'varchar', true) #6 /home/s/sportbatru/public_html/wa-apps/shop/lib/model/shopProductFeatures.model.php(409): shopFeatureModel->getValueId(Array, '???????????????...', true) #7 /home/s/sportbatru/public_html/wa-apps/shop/lib/classes/shopProduct.class.php(444): shopProductFeaturesModel->setData(Object(shopProduct), Array) #8 /home/s/sportbatru/public_html/wa-apps/shop/lib/classes/shopProduct.class.php(341): shopProduct->saveData(Array) #9 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(1423): shopProduct->save(Array) #10 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(821): shopCsvProductrunController->stepImportSku(Array) #11 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(776): shopCsvProductrunController->stepImport() #12 /home/s/sportbatru/public_html/wa-system/controller/waLongActionController.class.php(308): shopCsvProductrunController->step() #13 /home/s/sportbatru/public_html/wa-apps/shop/lib/actions/csv/shopCsvProductrun.controller.php(737): waLongActionController->execute() #14 /home/s/sportbatru/public_html/wa-system/controller/waController.class.php(21): shopCsvProductrunController->execute() #15 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(229): waController->run(NULL) #16 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopCsvProductrunController), NULL) #17 /home/s/sportbatru/public_html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'csv', 'productrun') #18 /home/s/sportbatru/public_html/wa-system/waSystem.class.php(544): waFrontController->dispatch() #19 /home/s/sportbatru/public_html/wa-system/waSystem.class.php(483): waSystem->dispatchBackend('webasyst/shop/') #20 /home/s/sportbatru/public_html/index.php(7): waSystem->dispatch() #21 {main}
5 комментариев
Ошибка из-за названия характеристики. Либо у вас реально каким то образом два одинаковых значения характеристики пытаются создаться.
Если второе, то надо csv смотреть.
Если первое, то мои размышления:
При создании таких характеристик создается индекс(для более быстрого поиска по базе).
Например, у предыдущего товара была эта же характеристика со значением "интерактивное видео Виртуальный опа-опа гангам стайл". Создался индекс "121-интерактивное видео Виртуальный". И получается что все последующие значения характеристки с id 121, у которых значения начинаются на эту фразу будут дублями. А дублирование индексов это ошибка.
А вообще надо бы покопаца тут. По идее длинна индекса у varcahr и его collaction такие же как и у значения. Если значение сохраняется нормально и полностью, то почему индекс получается укороченным? Возможно это как-то связанно с тем, что индекс в данном случае составной int-varchar?
Каков тип характеристики "Специальные программные возможности" в вашем магазине?
Был типа ТЕКСТ, я изменил на HTML и все сразу импортнулось. Скажите, Михаил, в каких случаях надо ставить тип HTML? В случаях если там есть любой html-код? Просто у меня и тип ТЕКСТ нормально ссылки отображал, поэтому я и всем остальным ставил ТЕКСТ. А тут видимо много ссылок получилось слишком в одном поле...
Пока непонятно, почему у вас так работает. В моём тестовом магазине импортировалось нормально в новую характеристику типа "Текст".
Покажите результат выполнения SQL-запроса: