আপনার প্রশ্নের উত্তর দেওয়ার জন্য, না, এটি একটি চপল প্রক্রিয়াতে স্বাভাবিক নয়।
এটি যখন চপল দৃষ্টিভঙ্গি থেকে উদ্ভূত হতে পারে তবে তা অ্যাগ্রিলের স্বল্প-পুনরাবৃত্তি নকশা / বিকাশ / পরীক্ষা চক্র এবং এগ্রিলের হালকা ওজনের সমাধানগুলির উপর জোর দেওয়া রয়েছে যা জানা প্রয়োজনীয়তাগুলি পূরণ করে, তবে নতুন প্রয়োজনীয়তা পূরণ করতে সক্ষম হওয়ার জন্য এটি সুগঠিত are নূন্যতম পরিবর্তন। এই দুটি জিনিস দেওয়া, আপনি বলতে পারেন যে কোনও বিকাশকারী, লাইনটি কী নেমে আসতে পারে তা না জেনেও তার পরিবর্তনটি ডিবেকে এমনভাবে প্রভাবিত করা উচিত নয় যা পূর্বাবস্থায় ফেরানো যায় না, কেবলমাত্র স্কিমায় প্রয়োজনীয় পরিবর্তনগুলি করে "সবচেয়ে হালকা" সম্ভাব্য উপায় এবং তারপরে বিরতিতে বেশ কয়েকটি সেট "হালকা" পরিবর্তনগুলি আরও স্থায়ী এবং স্থিতিশীল কিছুতে রিফ্যাক্টর হবে।
এটি বলার পরেও, আমি এখনও এমন বিকাশকারীর সাথে কাজ করি নি যিনি এগিল তত্ত্ব এবং পদ্ধতিটির সাবস্ক্রাইব করেছিলেন এবং ভেবেছিলেন যে নিয়মিতভাবে কোনও কারণে স্কিমায় সারণী তৈরি এবং মুছে ফেলা জরুরি ছিল। চটপটে অর্থ স্লাপ-ড্যাশ বা বোল্ট-অন নয়। যদি আপনাকে এমন একটি গল্প দেওয়া হয় যা নির্দিষ্ট রেকর্ডের সাথে সম্পর্কিত ডেটাগুলির একটি নতুন ক্ষেত্রের সংযোজন প্রয়োজন, আপনি ক্ষেত্রটি সারণিতে যুক্ত করুন। যদি সেই পরিবর্তনটি কিছুটা ভেঙে যায় তবে আপনি বুঝতে পারবেন যে কেন এবং প্রয়োজনীয় অন্যান্য পরিবর্তনগুলি করুন (আমি খুব কম কিছু বিষয় নিয়ে ভাবতে পারি যা ডিবিতে কলাম যুক্ত করে ভাঙ্গতে পারে; যদি এই ধরণের পরিবর্তনের সাথে এটি ভেঙে যায় তবে বড় সমস্যা আছে)। রিফ্যাক্টরিং সাধারণত কোডের মধ্যে সীমাবদ্ধ থাকে; কোড পরিবর্তন করার চেয়ে স্কিমা পরিবর্তন করা সাধারণত জড়িত একটি প্রক্রিয়া এবং তাই যখন স্কিমা পরিবর্তন ঘটে তখন এগুলি সাধারণত আরও যত্ন সহকারে করা হয়, এবং প্রকল্পের ভবিষ্যতের দিক সম্পর্কে কমপক্ষে কিছু মনোযোগ দেওয়া হয়েছিল। কিছু বা সমস্ত ডাটাবেস পুনর্গঠন করা ডিজাইনের একটি মৌলিক ব্যর্থতা নির্দেশ করে; চতুর হওয়ার অর্থ এই নয় যে প্রোগ্রাম এবং ডেটা কাঠামোটি জৈবিকভাবে নির্মাণের সময় অনুসরণ করা বেসিক আর্কিটেকচার এবং ডিজাইনের বিধিগুলির একটি "মাস্টার প্ল্যান" নেই।
এখন, অ্যাগিলিতে এমন কেস রয়েছে যেখানে আপনি এখন যা "জানেন" তার পরে আপনি যা শিখবেন তার দ্বন্দ্ব হবে। বলুন যে আপনার সিস্টেমের প্রতিটি ব্যক্তির একটি ঠিকানা থাকতে হবে। যেহেতু এটি 1: 1 সম্পর্ক এবং বেশিরভাগ ক্ষেত্রে ডেটা প্রয়োজন হবে, আপনি কেবল ব্যক্তির টেবিলে ঠিকানা ক্ষেত্রগুলি যুক্ত করুন। এক সপ্তাহ পরে, আপনি একটি প্রয়োজনীয়তা পান যে কোনও ব্যক্তির একাধিক ঠিকানা থাকতে পারে। এখন এটি একটি 1: N সম্পর্ক এবং সঠিকভাবে মডেল করার জন্য আপনাকে ক্ষেত্রগুলিকে একটি নতুন ঠিকানা সারণিতে বিভক্ত করে আপনার পূর্ববর্তী পরিবর্তনগুলি পূর্বাবস্থায় ফেলা আবশ্যক। এটি রুটিন নয়, বিশেষত প্রবীণ বিকাশকারীদের মধ্যে। একজন অভিজ্ঞ বিকাশকারী দেখতে পাবেন যে কোনও ব্যক্তির একটি ঠিকানা রয়েছে, এগুলি ধারণাগতভাবে পৃথক হিসাবে বিবেচনা করুন এবং একটি ব্যক্তির টেবিল এবং একটি ঠিকানা সারণী তৈরি করুন, কোনও ব্যক্তিকে অ্যাড্রেসের সাথে অ্যাড্রেসের সাথে একটি এফকে রেফারেন্সের সাথে সংযুক্ত করুন। এর মতো একটি স্কিমা পরিবর্তনের পক্ষে আরও সহজ যোগাযোগের প্রকৃতি পরিবর্তিত হওয়া উচিত; পুরো "প্রশস্ত" ডেটা সারণী তৈরি বা মোছা ছাড়াই, ব্যক্তি এবং ঠিকানার মধ্যে সম্পর্ক খুব সহজেই 1: 1 থেকে 1: N থেকে N: N পর্যন্ত পরিবর্তন করা যেতে পারে।