উত্তর:
এই ত্রুটিটি ঘটে যখন মাইগ্রেশন সরঞ্জামটি পিছনে ঘুরিয়ে না দিয়ে ডেটা স্থানান্তর করতে ব্যর্থ হয় (যেমন: অখণ্ডতার লঙ্ঘনের কারণে) এবং আবার চালানো হয়। এটি "মাইগ্রেশন_ডিফল্ট" বৈশিষ্ট্য সেট তৈরি করার চেষ্টা করে এবং ব্যর্থ হয়, কারণ এটি ইতিমধ্যে ডাটাবেসে উপস্থিত রয়েছে।
আপনার যা করতে হবে তা হ'ল:
1) মাইগ্রেশন সরঞ্জাম চালানোর আগে আপনি (আশাবাদী) একটি অনুলিপি থেকে আপনার ম্যাজেন্টো 2.0 ডাটাবেসটি পুনরুদ্ধার করুন।
2) মাইগ্রেশন সরঞ্জামটি আবার চালনা করুন এবং এতে ব্যর্থ হওয়া প্রথম ত্রুটিটি পরীক্ষা করে দেখুন। আমার ক্ষেত্রে এটি ছিল:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) সমস্যাটি সমাধান করুন (আমাকে ডিবিতে একটি সারি নিজেই সরিয়ে ফেলতে হয়েছিল)।
যতক্ষণ না আপনি সমস্ত ত্রুটি মুছে ফেলেছেন এবং মিষ্টি শোনার বার্তাটি না পাওয়া পর্যন্ত এই পদক্ষেপটি পুনরাবৃত্তি করুন:
Migration completed
আমি এই সমাধানটি পেয়েছি যা আমার জন্য এই সমস্যাটির সমাধান করেছে https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
সমাধানটি ইভা_ট্রিবিউট_সেট টেবিলের "বৈশিষ্ট্য_মূল্য_নাম" ক্ষেত্রের "ডিফল্ট" নাম সম্বলিত সমস্ত মানকে ম্যাজেন্টো 1 ডাটাবেসে "ডিফল্ট_এক্স" তে পুনঃনামকরণ এবং স্ক্র্যাচ থেকে মাইগ্রেশন চালানো হয়।
আমার ক্ষেত্রে, "ডিফল্ট" নাম সহ 9 টি রেকর্ড ছিল। সুতরাং আমি তাদের ডিফল্ট_1 এ নামকরণ করে ডিফল্ট_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 ডাটাবেসের একটি ব্যাকআপ আমদানি করতে হয়েছিল।
আপনার ক্ষেত্রে : সম্ভবত আপনাকে দ্বিতীয়বার ডেটা মাইগ্রেশন পুনরায় লোড করতে হয়েছিল।
এই সমস্যাটি সমাধান করতে,
আপনি আপনার এসকিউএল অনুসন্ধানের অ্যাপ্লিকেশন বা ইন্টারফেসের মাধ্যমে এটি করতে পারেন।
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
আপনার স্থানান্তরিত ডেটাবেস ম্যাজেন্টো 2 দিয়ে ডাবল চেক করুন 2 কখনও কখনও আমরা ডেটা মাইগ্রেশন সরঞ্জামে ডাটাবেসের নাম পরিবর্তন করি নি।
তাজা ম্যাজেন্টো উদাহরণটি পুনরায় ইনস্টল করুন এবং ডেটা মাইগ্রেশন সরঞ্জামে সঠিকভাবে ডাটাবেসের নাম যুক্ত করুন
ডেটা-মাইগ্রেশন-সরঞ্জাম উত্স থেকে উত্স থেকে ডেটা গ্রহণ করে না।
এই সমস্যার সহজ সমাধান এখানে দেওয়া হল:
সম্পাদনা: 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-চিত্র' কী এর জন্য - ম্যাজেন্টো 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
তাই কিছু চেষ্টা করুন
delete from eav_attribute_group WHERE attribute_group_name = 'Home';