একটি প্রোডাক্ট ডাটাবেসকে পরীক্ষার ডেটাতে রূপান্তর করুন


15

উত্পাদনের একটি পরীক্ষা যত কাছাকাছি হয় তত উন্নত আচরণের অনুকরণ করতে পারে। আমি আমাদের পরীক্ষার পরিবেশে উত্পাদন থেকে ডাটাবেস ব্যাকআপগুলি অনুলিপি করতে চাই, তবে আমার কী পরিবর্তন করতে হবে যাতে এই পরীক্ষাটি কার্যকর হয় এবং উত্পাদনে হস্তক্ষেপ করা বা দুর্ঘটনাক্রমে সত্যিকারের গ্রাহকদের ইমেল করা ( web/%secure/base_urlপরীক্ষার ইউআরএল সেট করার পাশাপাশি ) রাখা দরকার?

এই প্রশ্নটি সম্পর্কে ভাবার আরেকটি উপায় হ'ল আমার নিজের উত্পাদন ডেটা থেকে কীভাবে ম্যাজেন্টো স্যাম্পল ডেটা তৈরি করা যায় তা বিবেচনা করা ।

উত্তর:


8

1) ডিবি ডাম্প

আপনি যখন রফতানি করেন, আপনি কেবল নিম্নলিখিত টেবিলগুলির জন্য কাঠামো রফতানি করতে পারেন:

core_cache
core_cache_option
core_cache_tag
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
enterprise_logging_event
enterprise_logging_event_changes
index_event
index_process_event
report_event
report_viewed_product_index
dataflow_batch_export
dataflow_batch_import

এছাড়াও core_url_rewriteকেবল কাঠামোর সাথে আমদানি করা যায় এবং আমদানির পরে ক্যাটালগ ইউআরএল রাইরাইটেক্স রিইন্ডেক্স চালানো যায়, যদি না আপনার সমস্ত রেকর্ডের প্রয়োজন হয় (বিভিন্ন পরীক্ষার জন্য)।

আপনি পরিত্যক্ত কার্টস (ইঙ্গিত sales_flat_quote:) সাফও করতে পারেন, আপনার যদি প্রয়োজন না হয় তবে আপনি অর্ডারও সরিয়ে ফেলতে পারেন এবং কেবল একটি সীমাবদ্ধ সংখ্যা রাখুন

2) কনফিগারেশন সেটিংস

  • ওয়েব / (অনিরাপদ | নিরাপদ) / base_url
  • যোগাযোগ ইমেল ঠিকানা
  • ইমেল অক্ষম করুন ( system/smtp/disable) যাতে আপনি ভুল করে ইমেলগুলি প্রেরণ করেন না

3) গ্রাহকের তথ্য অননিমাইজ করুন

  • আপনি ম্যাজেন্টোর জন্য অ্যানিজেঞ্জো মডিউলটি ব্যবহার করতে পারেন
  • গ্রাহকের তথ্য / বিক্রয় আদেশ / ইত্যাদি অবলম্বনে আপনার নিজস্ব স্ক্রিপ্ট লিখুন

4) মডিউল সেটিংস

  • আপনি প্রদান / শিপিং মডিউলগুলির জন্য স্যান্ডবক্স মোড সক্ষম করতে পারেন এবং যথাযথ সেটিংস তৈরি করতে পারেন
  • বিভিন্ন সংহতকরণের জন্য ব্যবহৃত মডিউলগুলি পরীক্ষা করুন (তা অক্ষম করুন বা তাদের স্যান্ডবক্স মোডে সেট করুন)

দেবের জন্য, কিছু টেবিলের জন্য সামগ্রী উপেক্ষা করা ঠিক আছে। কিউএ / স্টেজিংয়ের জন্য আপনি যতটা সম্ভব সজ্জিত উত্পাদন প্রতিফলিত করতে সমস্ত টেবিলের জনবহুল চাইবেন।
বিপলোগিক

@ ফ্লোরিনেলক্রিস: আমি ভেবেছিলাম যে প্রশ্নটি ডিবি মাইগ্রেশনকে সহজীকরণ এবং এটিকে জটিল করে তুলবে না :) যে কোনও উপায়েই হোক, ভাল উত্তর!
ব্যবহারকারী 487772

@ কঠোর অংশটি হ'ল উপরের সমস্তগুলি একটি স্ক্রিপ্টে রেখে দেওয়া ... এটি পরে চালানো সহজ সমাধান is
ফ্লোরিনেলচিস

2

আমরা শাখার জন্য ডিবি ডাম্পগুলি পরিচালনা করার জন্য একটি স্ক্রিপ্ট লিখেছিলাম। এই নিবন্ধটি পড়ুন ।

প্রাথমিক অধ্যক্ষটি হ'ল এটি local.xmlডিবি শংসাপত্রগুলি আনতে পাঠ করে , তারপরে সেই ভিত্তিতে ডেটা ফেলে দেয়। এটি ডাম্পটিকে দুটি অংশে বিভক্ত করে, কেবল কাঠামো এবং তারপরে ডেটা। তবে মূলটি হ'ল এটি অপ্রয়োজনীয় ডেটা বাদ দিয়ে প্রচলিত ডাম্প প্রক্রিয়াটিকে গতি দেয় এবং ডাম্প চলাকালীন কোনও টেবিলের লকগুলিকে অত্যন্ত সমালোচনা করে বাধা দেয় যা অন্যথায় আপনার লাইভ সাইটটিকে ব্লক / স্তব্ধ করে দেবে।

আপনি যখন মাইএসকিউএল ডাম্প পেয়েছেন, কেবলমাত্র ব্যবহার করে আপনি URL খুব সহজেই পরিবর্তন করতে পারেন change sed

sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql

তারপরে আপনার নতুন ডিবিতে একটি মাইএসকিএল আমদানি চালান।

সুতরাং স্ক্রিপ্ট ব্যতীত একটি খুব বেসিক সংস্করণ এটির মতো দেখাবে।

mysqldump -hHostname -uUsername LiveDbname -p > db.sql
sed -i 's/www.mydomain.com/staging.mydomain.com/g' db.sql
mysql -hHostname -uUsername DevDbname -p < db.sql

লোকাল.এক্সএমএল ফাইলটি মুছে ফেলার কোনও কারণ নেই বা আপনি যদি এই ফ্যাশনে ডিবিতে ইউআরএল পরিবর্তন করেন তবে ইনস্টলারটি পুনরায় চালাবেন।

শাখা প্রশস্তকরণের পুরো প্রক্রিয়াটি আমাদের ম্যাজেন্টো জিআইটি গাইডে ভালভাবে আচ্ছাদিত । এটি উন্নয়ন শাখা তৈরির জন্য একটি ভাল প্রক্রিয়া, তবে একটি সরাসরি ব্যবধানে লাইভ ডিবি সঙ্কুচিত করে। সুতরাং টেস্টগুলি সম্পূর্ণরূপে লাইভ সাইটের মতো হবে না।

সুতরাং একটি ভ্যানিলা ডিবি ডাম্প সঞ্চালন, সেড প্রতিস্থাপন, একটি মঞ্চ সাইটের জন্য ডিবি আমদানি যথেষ্ট। এবং যতটা সম্ভব নিকটস্থ লাইভ সাইটটি মিরর / মিলবে।

গ্রাহকদের সাথে যোগাযোগ রোধ করার শর্তাবলী - আমরা কখনই এটির প্রয়োজনীয়তা পাইনি, কারণ আমরা সবসময় পরীক্ষার জন্য ইচ্ছাকৃত অ্যাকাউন্ট তৈরি করি, পরীক্ষার জন্য কখনই আসল গ্রাহকের আদেশ ব্যবহার করি না।


1

ইমেল ইস্যুটির জন্য একটি বিকল্প হ'ল আপনাকে সমস্ত ইমেলগুলি আপনাকে পুনঃনির্দেশ করতে আপনার বিকাশ সাইটটি কনফিগার করা। মনের টুকরো যোগ করে।

আপনি কীভাবে তা আপনার পরিবেশের উপর নির্ভর করে - আমাদের জন্য ভোস্টে এটি যুক্ত করা কাজটি করে:

php_admin_value sendmail_path "/usr/sbin/sendmail -i -- xyphoid@example.com,coworker@example.com"

0

কিছুই নেই। সুরক্ষিত এবং অনিরাপদ ইউআরএলগুলি পরিবর্তন করা যথেষ্ট যথেষ্ট।

আপনি log_*কেবল নিজের ডাম্প হালকা করার জন্য আপনি টেবিলগুলির ডেটা বাদ দিতেও পছন্দ করতে পারেন ।


1
তবে ধরুন আমি আমার পরীক্ষার ব্যবস্থাটি বলি আমি একটি আদেশ প্রেরণ করেছি - এটি কি সত্যিকারের গ্রাহককে এটি সম্পর্কে ইমেল পাঠাবে না?
কোজিরো

কেবলমাত্র অন্যান্য আইটেমগুলির জন্য যেগুলি পরিবর্তন করতে হবে তা হ'ল তৃতীয় পক্ষের মডিউল রেজিস্ট্রেশন সম্পর্কিত তথ্য যদি আপনি কেবল অ্যাক্টিভেশন কী হওয়ার পরিবর্তে ডোমেনের জন্য থাকা কীগুলি চালনা করেন। আমি ইমেল ঠিকানাগুলিও অন্তর্ভুক্ত করি যাতে পরীক্ষার অর্ডার লেনদেনটি অর্ডার ডেস্কের পরিবর্তে একটি পরীক্ষা অ্যাকাউন্টে যায়। আপনি যখন প্রথম শুরু করবেন, সুরক্ষিত এবং অনিরাপদ বেস-ইউরালগুলি প্রয়োজনীয়। আপনি যদি প্রায়শই এটির পরিকল্পনা করে থাকেন তবে এগুলি সমস্ত স্কয়ার ফাইলের মধ্যে প্যাকেজ করুন এবং আপনার ম্যাজেন্টো ডিবি আমদানির পরে এটি আমদানি করুন।
ফায়াসকো ল্যাবগুলি

@ কোজিরো - আপনি কিছু পরীক্ষার অ্যাকাউন্ট সেট আপ না করে। আপনার কোম্পানির ইমেল প্রশাসকের সাথে কথা বলুন, তাদের কয়েকটি ইমেল উপকরণ স্থাপন করুন।
ফায়াসকো ল্যাবগুলি

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

@ কোজিরো আপনি সঠিক, উত্পাদন থেকে কোনও ডেটা সেট আমদানির পরে আপনার গ্রাহক / সংবেদনশীল তথ্য স্ক্রাব / আপডেট করতে হবে। পরিস্থিতিটি সঠিকভাবে বিবেচনা করে না বলে এটি একটি ভাল উত্তর নয়।
বিপলোগিক

0

এটি ব্যবহার করে দেখুন, এটি পরীক্ষার পরিবেশ থেকে দুর্ঘটনাক্রমে লাইভ গ্রাহকদের ইমেল করতে আপনার ইস্যুতে সহায়তা করতে ব্যবহারকারীর ইমেলগুলি স্ক্যাম্বল করবে

UPDATE customer_entity SET email = REPLACE(email, '@', '-test@abcxyz123-')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.