ডেটা মাইগ্রেশন ইভা পদক্ষেপ ত্রুটি


11

কেউ এই সমস্যা আছে?

ডেটা মাইগ্রেশন> EAV পদক্ষেপ

এসকিউএসএলসেট [২৩০০০]: স্বতন্ত্রতা সীমাবদ্ধতা লঙ্ঘন: 1062 সদৃশ 'EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME' কী'র জন্য '1-অভিবাসন_পরিচালনা' অনুলিপি


আপনি কি এর জন্য কোনও সমাধান খুঁজে পেয়েছেন?
গৌরব অগ্রওয়াল

উত্তর:


4

এই ত্রুটিটি ঘটে যখন মাইগ্রেশন সরঞ্জামটি পিছনে ঘুরিয়ে না দিয়ে ডেটা স্থানান্তর করতে ব্যর্থ হয় (যেমন: অখণ্ডতার লঙ্ঘনের কারণে) এবং আবার চালানো হয়। এটি "মাইগ্রেশন_ডিফল্ট" বৈশিষ্ট্য সেট তৈরি করার চেষ্টা করে এবং ব্যর্থ হয়, কারণ এটি ইতিমধ্যে ডাটাবেসে উপস্থিত রয়েছে।

আপনার যা করতে হবে তা হ'ল:

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

আমি একই সমস্যার মুখোমুখি, আমি কোথায় এই মানটি পরিবর্তন করতে পারি?
পুরুষোত্তম শর্মা

1
কোন মান? কীভাবে এমন একটি ডিবি সারি সরিয়ে ফেলতে হবে যা অখণ্ডতার সীমাবদ্ধতা লঙ্ঘন করছে? সূচকের নামটি দেখুন। আমার ক্ষেত্রে এটি ছিল "URL_REWRITE_REQUEST_PATH_STORE_ID"। এর প্রথম অংশটি আপত্তিজনক রেকর্ড সহ সারণীর নাম। আমার ক্ষেত্রে এটি ছিল url_rewrite (বা আরও সুনির্দিষ্টভাবে আমার-উপসর্গ_উরাল_উইরাইট)। REQUEST_PATH এবং STORE_ID দুটি কলাম যা একসাথে রাখলে অনন্য হতে হবে। আমার ক্ষেত্রে মাইগ্রেশন সরঞ্জামটি অনুরোধ_পথের অধীনে "হোম" এবং স্টোর_আইডের নীচে 1 টি সহ দুটি রেকর্ড সন্নিবেশ করানোর চেষ্টা করছিল। আমাকে প্রথমটি সরিয়ে ফেলতে হয়েছিল।
ম্যাটিউজ

@ ম্যাটিউজ, আমরা যদি কমান্ড ব্যবহার করি, -আর এটি ডিবি পুনরায় সেট করবে না এবং শুরু থেকে শুরু করবে? প্রতিবার ডিবি পুনরুদ্ধার করা প্রক্রিয়াগুলি গ্রহণ করা খুব বেশি সময়
জাফর পিনজার

@ জাফরপিনজার (বা অন্য কেউ এটি দেখছেন) হ্যাঁ এটি সঠিক। আপনার প্রত্যেকবার ডাটাবেস পুনরুদ্ধার করতে হবে। ম্যাজেন্টো 2 এর ডকুমেন্টেশন থেকে: "শুরু থেকেই ডেটা মাইগ্রেশন সরঞ্জামটি চালিত করতে, --reset আর্গুমেন্টটি ব্যবহার করুন that সেক্ষেত্রে আমরা আপনাকে আগের মাইগ্রেশন করা ডেটা সদৃশকরণ প্রতিরোধ করতে আপনার Magento 2 ডাটাবেস ডাম্প পুনরুদ্ধার করার পরামর্শ দিচ্ছি।"
WackGet

@ ম্যাটিউজ, আমার এই ত্রুটি রয়েছে, "সত্যিকারের সীমাবদ্ধতা লঙ্ঘন: 1062 কী 'WISHLIST_CUSTOMER_ID' এর জন্য ডুপ্লিকেট এন্ট্রি '0'"
জাফর পিনজার

2

আমি এই সমাধানটি পেয়েছি যা আমার জন্য এই সমস্যাটির সমাধান করেছে 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";
WackGet

অ্যালফ্রেডো লানজিটা, আমি এম 2 এ সাফল্যের সাথে স্থানান্তরিত হয়েছি, তবে কাস্টম লেআউট বিকল্পে কোনও সমস্যা আছে বলে মনে হচ্ছে। আমি একই বিষয়ে আপনার অন্তর্দৃষ্টি চাই। আপনি কি আমার প্রশ্নটি একবার দেখতে পারেন?
কোডফোর্ড গুড

1

আমার ক্ষেত্রে : এটি আমার কাছে হয়েছিল এবং মাইগ্রেশন পুনরায় লোড করার আগে আমাকে আমার ম্যাজেন্টো 2 ডাটাবেসের একটি ব্যাকআপ আমদানি করতে হয়েছিল।

আপনার ক্ষেত্রে : সম্ভবত আপনাকে দ্বিতীয়বার ডেটা মাইগ্রেশন পুনরায় লোড করতে হয়েছিল।


হাই @ কেভিন, রিসেট কমান্ড সেটিংস রিসেট করবে না? এটা শুরু থেকে শুরু হবে না? প্রতিবার ডিবি রিসেট করা দরকার?
জাফর পিঞ্জার

@ জাফরপিনজার (বা অন্য কেউ এটি দেখছেন) হ্যাঁ এটি সঠিক। আপনার প্রত্যেকবার ডাটাবেস পুনরুদ্ধার করতে হবে। ম্যাজেন্টো 2 এর ডকুমেন্টেশন থেকে: "শুরু থেকেই ডেটা মাইগ্রেশন সরঞ্জামটি চালিত করতে, --reset আর্গুমেন্টটি ব্যবহার করুন that সেক্ষেত্রে আমরা আপনাকে আগের মাইগ্রেশন করা ডেটা সদৃশকরণ প্রতিরোধ করতে আপনার Magento 2 ডাটাবেস ডাম্প পুনরুদ্ধার করার পরামর্শ দিচ্ছি।"
WackGet

1

এই সমস্যাটি সমাধান করতে,

  1. প্রথমে আপনাকে ইতিমধ্যে স্থানান্তরিত বৈশিষ্ট্য সেটগুলি পরীক্ষা করতে হবে check
  2. তারপরে ডিফল্ট ব্যতীত সেই বৈশিষ্ট্যগুলি সেট মুছুন।

আপনি আপনার এসকিউএল অনুসন্ধানের অ্যাপ্লিকেশন বা ইন্টারফেসের মাধ্যমে এটি করতে পারেন।

DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';

1

আপনার স্থানান্তরিত ডেটাবেস ম্যাজেন্টো 2 দিয়ে ডাবল চেক করুন 2 কখনও কখনও আমরা ডেটা মাইগ্রেশন সরঞ্জামে ডাটাবেসের নাম পরিবর্তন করি নি।

তাজা ম্যাজেন্টো উদাহরণটি পুনরায় ইনস্টল করুন এবং ডেটা মাইগ্রেশন সরঞ্জামে সঠিকভাবে ডাটাবেসের নাম যুক্ত করুন


0

ডেটা-মাইগ্রেশন-সরঞ্জাম উত্স থেকে উত্স থেকে ডেটা গ্রহণ করে না।
এই সমস্যার সহজ সমাধান এখানে দেওয়া হল:

সম্পাদনা: 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;
}

GitHub


আপনি কেন ব্যাখ্যা করতে পারেন যে এটি কেন একটি প্রাথমিক কী ডুপ্লিকেট করতে পার্থক্য করবে?
ডোমডামব্রোগিয়া

0

আমার অভিজ্ঞতায়, নমুনা ডেটা ইনস্টল করা আছে। সুতরাং, আমি নিম্নলিখিত পদক্ষেপগুলি সম্পন্ন করেছি।

  1. আমি ডাটাবেস ফেলেছি
  2. তারপরে নমুনা তথ্য ছাড়াই ম্যাজেন্টো 2 পুনরায় ইনস্টল করুন।

তারপরে, আমি স্থানান্তর করতে পারি।


0

নিম্নলিখিত সমস্যাগুলির সাথে আমার সমস্যাটি স্থির করে:

স্বীকৃতি সীমাবদ্ধতা লঙ্ঘন: 1062 ডাবলিকেট এন্ট্রি '4-চিত্র' কী এর জন্য - ম্যাজেন্টো 2

delete from eav_attribute_group WHERE attribute_group_name = 'Images';

তাই কিছু চেষ্টা করুন

delete from eav_attribute_group WHERE attribute_group_name = 'Home';
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.