মুছে ফেলা নোডটি পুনরুদ্ধার করা সম্ভব?


18

যখন পুনর্বিবেচনাগুলি রাখা হয়েছে এবং কোনও নোডের আগের পুনর্বিবেচনায় ফিরে আসা সহজ, তখন আমি ভাবছিলাম যে কোনও ব্যবহারকারী দ্বারা মুছে ফেলা একটি নোডটি পুনরুদ্ধার করা সম্ভব কিনা?

উত্তর:


20

আপনার যদি একটি ডাটাবেস ব্যাকআপ থাকে (যা আপনার উচিত;) তবে আপনি সাইটের একটি পুরানো কপি পুনরুদ্ধার করতে পারেন এবং সেভাবে এটি পুনরুদ্ধার করতে পারেন।

ড্রুপাল ব্যবহারকারীদের বেশ স্পষ্ট সতর্কতা দেয় যে নোড মুছতে চূড়ান্ত, এবং একটি নিশ্চিতকরণ সংলাপ রয়েছে।


19

কি বলে ক্রিস। কোড পড়ে

    db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
    db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);

... সুতরাং মুছে ফেলা মানেই মুছে ফেলা।

এরকম দুর্ঘটনা রোধ করতে আপনি ব্যবহারকারীর অনুমতিগুলি সীমাবদ্ধ করতে চাইতে পারেন যাতে ব্যবহারকারীরা মুছতে না পারে তবে কেবল অপ্রকাশিত নোড। অপ্রকাশিত নোডগুলি আপনার সাইটে প্রদর্শিত হবে না (ধরে নেওয়া আপনার সাইটটি সঠিকভাবে নির্মিত হয়েছে) তবে সেগুলি ডাটাবেসে উপলব্ধ থাকে।


6
অতিরিক্ত টিপ: কে, কি অপ্রকাশিত পারেন বিষয়বস্তু মডিউল প্রকাশ করুন খুঁজে বার করো উপর একটি ডেডিকেটেড ট্যাব এবং আরও নিয়ন্ত্রণ জন্য: drupal.org/project/publishcontent
marcvangend

2

হ্যাঁ এর জন্য বেশ কয়েকটি সমাধান রয়েছে।

  • প্রথমটি পূর্ণ ব্যাকআপ ব্যবহার করছে যা ইতিমধ্যে ক্রিস এখানে উল্লেখ করেছেন। বিশেষ করে যদি নোডে জটিল ক্ষেত্র থাকে তবে এটি সবচেয়ে কঠিন।
  • Https://drupal.org/project/recover মডিউলটি ব্যবহার করে যা নিরীক্ষণ করে
  • Https://drupal.org/project/entity_soft_delete মডিউলটি ব্যবহার করা হচ্ছে । এটি নোড / সত্তাগুলির জন্য এক ধরণের পুনর্ব্যবহারযোগ্য / ট্র্যাশবিন তৈরি করেছে সুতরাং যখন কোনও নির্দিষ্ট নোড মুছে ফেলা হয়, এটি কেবল ডাটাবেস থেকে মুছে ফেলা হবে না এটির স্থিতি পরিবর্তন মুছে ফেলা হবে। সুতরাং প্রশাসক এখনও এটি দেখতে বা এমনকি এটি ব্যবহার করতে পারে এবং প্রয়োজনে এর স্থিতিটি স্বাভাবিক অবস্থায় ফিরে যেতে বা স্থায়ীভাবে মুছতে পারে

0

ক্রিস যা বলেছিলেন সে সম্পর্কে এখানে একটি পরামর্শের বিল্ডিং রয়েছে যা বিপরীত প্রকৌশলী @ মার্কাভেন্ড্যান্ডের উত্তর। আমি পিএইচপিএমআইএডমিন ব্যবহার করতে চাই তবে আপনি যদি কমান্ড লাইনটি আরও ভাল পছন্দ করেন তবে আপনি একই প্রক্রিয়াটি করতে পারেন।

অন্যান্য উত্তরের মতো এটিও ধরে নিয়েছে যে আপনার ডাটাবেসের একটি ব্যাকআপ রয়েছে। ব্যাকআপ এবং মাইগ্রেটের মতো দুর্দান্ত মডিউলগুলি না করার জন্য কোনও বাহানা নেই।

  1. "রিস্টোর" বা "টেস্টিং" বা অনুরূপ কিছু বলে একটি নতুন খালি মাইএসকিউএল ডাটাবেস তৈরি করুন
  2. একটি নতুন ম্যানুয়াল ব্যাকআপ তৈরি করুন যাতে আপনার প্রয়োজন হলে শেষ রাতের ব্যাকআপ নয়, আপনি এই মুহুর্তে ফিরে যেতে পারেন
  3. নতুন "পুনরুদ্ধার" ডাটাবেসে আপনার ব্যাকআপ আমদানি করুন
  4. nodeটেবিলে যান , আপনার মোছা নোডটি অনুসন্ধান করুন। আশা করি আপনি নিডটি জানেন তবে এখনই যদি তা খুঁজে না পান।
  5. মুছে ফেলা এক সারিটি নির্বাচন করুন এবং phpMyAdmin এর মাধ্যমে রফতানি করুন। এখানে কেবল একটি সারি থাকা উচিত।
  6. এখন node_revisionsটেবিলে যান। আপনার মোছা নোড এবং রফতানির নিডে অনুসন্ধান করুন। কমপক্ষে একটি সারি থাকা উচিত, তবে আরও বেশি হতে পারে। আপনার নিড দিয়ে সবকিছু রফতানি করুন।
  7. পিএইচপিএমড্যাডমিনে আপনার লাইভ সাইটের ডেটাবেসে ফিরে যান
  8. ব্যাকআপ থেকে সদ্য রপ্তানি করা দুটি ফাইল আমদানি করুন
  9. লাইভ সাইটে আপনার কাজ পরীক্ষা করুন

এই পদ্ধতিটি ব্যবহার করা আপনাকে ব্যাকআপ থেকে একক নোডটিকে শেষ ব্যাকআপের পর থেকে ডাটাবেসে কোনও পরিবর্তন না হারিয়ে পুনঃস্থাপনের অনুমতি দেবে। আপনি যদি সে সম্পর্কে উদ্বিগ্ন না হন এবং শেষ ব্যাকআপের পরে থেকে মুছে ফেলাটি ঘটেছে তবে কিছুই ভাবছেন না, তবে উপরের প্রক্রিয়াটি শেষ করার জন্য কেবলমাত্র ব্যাকআপের পুরো পুনরুদ্ধার করা সহজ হবে।


আমি যদি nodeটেবিলে যাই এবং সেখানে মুছে ফেলা নিডটি না দেখি তবে কী হবে? এর অর্থ কি জিনিসগুলি গুরুতর দেখাচ্ছে? সাইটটি ড্রপাল 8, উপায় দ্বারা।
ম্যাডফিসিসিস্ট

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