ড্রুপাল (Drupal) সাইটে ডেটা ইম্পোর্ট এবং এক্সপোর্ট করার জন্য Migration Module একটি অত্যন্ত শক্তিশালী এবং নমনীয় টুল। এটি মূলত এক সিস্টেম থেকে অন্য সিস্টেমে (বা একটি সাইট থেকে অন্য সাইটে) ডেটা স্থানান্তর করতে ব্যবহৃত হয়। ড্রুপালে মাইগ্রেশন মডিউল ব্যবহার করে আপনি কাস্টম ডেটা ইম্পোর্ট এবং এক্সপোর্ট করতে পারেন, যা সাইট ম্যানেজমেন্ট এবং ডেটা স্থানান্তরের জন্য অত্যন্ত কার্যকর।
ড্রুপাল সাইটে ডেটা ইম্পোর্ট/এক্সপোর্ট করতে Migration এবং Migrate Plus মডিউলগুলি ব্যবহৃত হয়। এই গাইডে, আমরা মাইগ্রেশন মডিউল ব্যবহার করে কিভাবে ডেটা ইম্পোর্ট এবং এক্সপোর্ট করা যায়, সে সম্পর্কে আলোচনা করব।
মাইগ্রেশন মডিউল (Migration Module) ইনস্টল করা
১. মাইগ্রেশন মডিউল ইনস্টল করা
ড্রুপালে মাইগ্রেশন মডিউল এবং মাইগ্রেট প্লাস মডিউল ইনস্টল করা প্রথম পদক্ষেপ। এটি করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
Composer দিয়ে মাইগ্রেশন মডিউল ইনস্টল করা:
composer require drupal/migrate composer require drupal/migrate_plus composer require drupal/migrate_toolsমডিউল এনেবল করুন: ড্রুপাল অ্যাডমিন প্যানেল থেকে অথবা কনসোল কমান্ড ব্যবহার করে মডিউলগুলি সক্রিয় করতে হবে। উদাহরণস্বরূপ:
drupal module:enable migrate migrate_plus migrate_tools- মডিউল সক্রিয় করুন:
- Admin Interface-এ যান:
Extend - মডিউলগুলি সক্রিয় করুন: Migrate, Migrate Plus, এবং Migrate Tools।
- Admin Interface-এ যান:
ডেটা ইম্পোর্ট এবং এক্সপোর্ট কনফিগারেশন
মাইগ্রেশন মডিউল ব্যবহার করে ডেটা ইম্পোর্ট এবং এক্সপোর্ট করতে মাইগ্রেশন সুনির্দিষ্ট কনফিগারেশন ফাইল তৈরি করতে হবে।
২. মাইগ্রেশন কনফিগারেশন ফাইল তৈরি করা
ড্রুপালে মাইগ্রেশন কনফিগারেশন সাধারণত YAML ফরম্যাটে থাকে। এই কনফিগারেশন ফাইলটি নির্দিষ্ট ডেটা সোর্স এবং ডেস্টিনেশন সংজ্ঞায়িত করে, এবং মাইগ্রেশন প্রসেস কীভাবে হবে তা নির্দেশ করে।
উদাহরণ: ইম্পোর্ট মাইগ্রেশন কনফিগারেশন ফাইল
id: custom_node_migration
label: 'Custom Node Migration'
migration_group: default
source:
plugin: csv
path: 'public://data/nodes.csv'
header_row_count: 1
keys:
- id
destination:
plugin: 'entity:node'
default_bundle: article
process:
title: title
body/value: body
body/format: full_html
type: type
migration_dependencies:
required: { }
optional: { }
এই কনফিগারেশন ফাইলের মাধ্যমে CSV ফাইল থেকে ডেটা Node এ ইম্পোর্ট করা হবে। এখানে title, body, type ফিল্ডগুলো কাস্টমাইজ করা হয়েছে।
source: এখানে সোর্স ফাইল (যেমন CSV, JSON, XML) এবং এর বিভিন্ন কনফিগারেশন দেওয়া হয়।destination: এখানে লক্ষ্য ডেটা স্টোরেজ, যেমন entity:node, entity:user ইত্যাদি উল্লেখ করা হয়।process: সোর্স ফাইল থেকে ডেটা প্রক্রিয়াকরণের জন্য কাস্টম ম্যাপিং সেট করা হয়।
৩. মাইগ্রেশন চালানো
একবার কনফিগারেশন ফাইল তৈরি হয়ে গেলে, আপনি Migrate Tools ব্যবহার করে মাইগ্রেশন চালাতে পারবেন। এটি করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
drush migrate-import custom_node_migration
এটি custom_node_migration নামে যে মাইগ্রেশন ফাইলটি তৈরি করেছেন, সেটি চালাবে এবং ডেটা ইম্পোর্ট হবে।
৪. মাইগ্রেশন স্ট্যাটাস চেক করা
মাইগ্রেশন চলাকালীন বা শেষে আপনি মাইগ্রেশনের স্ট্যাটাস চেক করতে পারেন:
drush migrate-status
এটি চলমান এবং সম্পন্ন মাইগ্রেশন টাস্কগুলোর স্ট্যাটাস দেখাবে।
ডেটা এক্সপোর্ট কনফিগারেশন
ড্রুপাল সাইট থেকে ডেটা এক্সপোর্ট করার জন্য মাইগ্রেশন প্লাস মডিউলটি ব্যবহার করা যেতে পারে, যা ডেটাকে CSV, JSON, XML বা অন্য কোন ফরম্যাটে এক্সপোর্ট করতে সহায়তা করে।
৫. ডেটা এক্সপোর্টের জন্য কনফিগারেশন
একটি সাধারণ Node এক্সপোর্ট কনফিগারেশন ফাইল উদাহরণ:
id: custom_node_export
label: 'Custom Node Export'
migration_group: default
source:
plugin: 'entity:node'
bundle: article
destination:
plugin: 'csv'
path: 'public://data/exported_nodes.csv'
process:
title: title
body/value: body
body/format: full_html
type: type
এখানে entity:node সোর্স প্লাগিন ব্যবহার করা হয়েছে, যা Article টাইপের সমস্ত নোড এক্সপোর্ট করবে এবং এটি CSV ফরম্যাটে সংরক্ষণ করবে।
৬. এক্সপোর্ট চালানো
এক্সপোর্ট প্রসেস শুরু করতে ড্রাশ কমান্ড ব্যবহার করুন:
drush migrate-export custom_node_export
এটি কনফিগার করা CSV ফাইলটি তৈরি করবে এবং নির্দিষ্ট পাথ (উদাহরণস্বরূপ public://data/exported_nodes.csv) এ সংরক্ষণ করবে।
মাইগ্রেশন সম্পর্কিত কিছু কমান্ড
ড্রুপালের Migrate মডিউল ব্যবহার করে আপনি মাইগ্রেশন সম্পর্কিত বিভিন্ন কার্যক্রম পরিচালনা করতে পারেন। নিম্নলিখিত কমান্ডগুলি আপনাকে মাইগ্রেশন পরিচালনায় সাহায্য করবে:
মাইগ্রেশন চালানো:
drush migrate-import migration_idমাইগ্রেশন স্ট্যাটাস চেক করা:
drush migrate-statusমাইগ্রেশন রোলব্যাক (ডেটা রিভার্স করতে):
drush migrate-rollback migration_idমাইগ্রেশন ফাইল চেক করা:
drush migrate-execute migration_id
উপসংহার
ড্রুপালের Migration মডিউল একটি অত্যন্ত কার্যকরী টুল যা ডেটা ইম্পোর্ট এবং এক্সপোর্ট করার জন্য ব্যবহৃত হয়। আপনি কাস্টম কনফিগারেশন ফাইল তৈরি করে, মাইগ্রেশন চালিয়ে সাইটের ডেটা এক্সপোর্ট বা ইম্পোর্ট করতে পারেন। মাইগ্রেশন মডিউল সাইটের ডেটা স্থানান্তর প্রক্রিয়াকে সহজ এবং স্বয়ংক্রিয় করে তোলে, বিশেষত যদি আপনি একাধিক ড্রুপাল সাইট পরিচালনা করেন বা ডেটা ব্যাকআপ করতে চান।
Read more