ডেটা না হারিয়ে একটি সাইটের নাম পরিবর্তন করা

একজন ক্লায়েন্ট acme-staging থেকে acme-এ একটি সাইটের নাম পরিবর্তন করতে বলেন। আপনি অ্যাপে নামটি পরিবর্তন করেন। হঠাৎ করেই সমস্ত ডাটাবেস ব্যাকআপ, স্ক্রিনশট এবং থাম্বনেইল অদৃশ্য হয়ে যায়।

ফাইলগুলো ডিস্কে এখনও আছে। নতুন ডিরেক্টরিটি কেবল খালি। ডেটা নাম পরিবর্তনের সাথে সাথে পরিবর্তিত হয়নি।

আমাদের মূল ডিজাইনে আমরা এই ভুলটি করেছিলাম। ফাইল কোথায় সংরক্ষণ করা হবে তা নির্ধারণ করতে আমরা সাইটের নাম ব্যবহার করতাম।

আপনি যদি backups/acme-staging/ এ ফাইল সংরক্ষণ করেন এবং তারপর সাইটের নাম পরিবর্তন করে acme করেন, তবে অ্যাপটি backups/acme/ খুঁজবে। এটি একটি খালি ফোল্ডার খুঁজে পায়। পুরানো ডেটা পুরানো ফোল্ডারেই থেকে যায়, কিন্তু অ্যাপ এটিকে অন্য কোনো সাইটের পুরনো বা অপ্রাসঙ্গিক ডেটা হিসেবে গণ্য করে।

সাইটের নাম প্রায়ই পরিবর্তিত হয়। ক্লায়েন্টরা টাইপো ঠিক করেন। টিমগুলো স্টেজিং সাইটগুলোকে প্রোডাকশনে নিয়ে যায়। কোম্পানিগুলো পুনর্গঠিত হয়।

আমরা ডিসপ্লে নেম (display name) এবং একটি স্থিতিশীল আইডেন্টিফায়ারকে (stable identifier) আলাদা করার মাধ্যমে এটি সমাধান করেছি।

এখন প্রতিটি সাইটের একটি অনন্য (unique) ID আছে। এটি দেখতে site_a1b2c3d4e5f6 এর মতো। এই ID কখনোই পরিবর্তন হয় না।

আমরা এখন নামের পরিবর্তে ID ব্যবহার