जवाबों:
यह त्रुटि तब होती है जब माइग्रेशन टूल डेटा को स्थानांतरित करने में विफल रहता है (जैसे अखंडता के उल्लंघन के कारण) बिना वापस रोल किए, और फिर से चलाया जाता है। यह "माइग्रेशन_डिफॉल्ट" विशेषता सेट बनाने का प्रयास करता है और विफल रहता है, क्योंकि यह पहले से ही डेटाबेस में मौजूद है।
आपको क्या करना है:
1) माइग्रेशन टूल को चलाने से पहले आपके (उम्मीद से) बनाए गए कॉपी से अपने Magento 2.0 डेटाबेस को पुनर्स्थापित करें।
2) माइग्रेशन टूल को फिर से चलाएँ और उस पहले त्रुटि के लिए जाँच करें जिस पर वह विफल रहता है। मेरे मामले में यह था:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) समस्या को ठीक करें (मुझे DB में एक पंक्ति को मैन्युअल रूप से निकालना पड़ा)।
जब तक आपने सभी त्रुटियां साफ़ नहीं की हैं, तब तक चरण दोहराएं और मधुर ध्वनि वाला संदेश देखें:
Migration completed
मुझे यह समाधान मिला जिसने मेरे लिए इस मुद्दे को हल किया https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
समाधान Magento 1 डेटाबेस में eav_attribute_set टेबल के "Default_x" फ़ील्ड में "डिफ़ॉल्ट" नाम "Default_value_name" फ़ील्ड वाले सभी मानों का नाम बदलने और खरोंच से माइग्रेशन चलाने के लिए है।
मेरे मामले में, "डिफ़ॉल्ट" नाम के साथ 9 रिकॉर्ड थे। इसलिए मैंने उन्हें Default_1 को Default_9 में बदल दिया और यह पूरी तरह से काम कर गया!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
, और एक समान दृष्टिकोण द्वारा हल किया गया:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
मेरे मामले में : मेरे साथ ऐसा हुआ था और मुझे माइग्रेशन 2 डेटाबेस का बैकअप पुनः लोड करने से पहले आयात करना पड़ा।
आपके मामले में : हो सकता है कि आपको दूसरी बार डेटा माइग्रेशन पुनः लोड करना पड़े।
इस समस्या को ठीक करने के लिए,
आप अपने SQL क्वेरी एप्लिकेशन या इंटरफ़ेस के माध्यम से ऐसा कर सकते हैं।
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
अपने माइग्रेटिंग डेटाबेस Magento 2 के साथ डबल चेक। कभी-कभी हमने डेटा माइग्रेटिंग टूल में डेटाबेस का नाम नहीं बदला।
ताजा Magento के उदाहरण को पुनर्स्थापित करें और डेटा माइग्रेटिंग टूल में डेटाबेस का नाम सही ढंग से जोड़ें
डेटा-माइग्रेशन-टूल utf8 में स्रोत से डेटा प्राप्त नहीं करता है।
यहाँ इस समस्या का एक सरल समाधान है:
संपादित करें: vendor/magento/data-migration-tool/src/Migration/ResourceModel/Adapter/Mysql.php
public function __construct(
\Magento\Framework\DB\Adapter\Pdo\MysqlFactory $adapterFactory,
\Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory,
array $config
) {
$config['initStatements'] = 'SET NAMES utf8'; // +
$configData['config'] = $config;
$this->resourceAdapter = $adapterFactory->create($configData);
$this->setForeignKeyChecks(0);
$this->triggerFactory = $triggerFactory;
}
मेरे अनुभव में, नमूना डेटा स्थापित है। इसलिए, मैंने निम्नलिखित कदम उठाए हैं।
फिर, मैं पलायन कर सकता हूं।
निम्नलिखित एसक्यूएल के साथ मेरे मुद्दे को फिक्स्ड:
अखंडता बाधा उल्लंघन: कुंजी के लिए 1062 डुप्लिकेट प्रविष्टि '4-छवियाँ' - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
तो कुछ कोशिश करो
delete from eav_attribute_group WHERE attribute_group_name = 'Home';