পটভূমি
আমি এমন একটি দলে কাজ করছি যা শূন্য-ডাউনটাইম মোতায়েন বাস্তবায়ন করতে চাইছে। আমরা এটি অর্জন করতে নীল / সবুজ স্থাপনার কৌশলটি ব্যবহার করার পরিকল্পনা করছি। গবেষণাটি করার মধ্যে আমি যে জিনিসটি উপলব্ধি করছি তার মধ্যে একটি হ'ল এটি ডাটাবেস পরিবর্তন করা কতটা জটিল হয়ে ওঠে। কলামটির নাম পরিবর্তন করার মতো একটি সাধারণ ক্রিয়াকলাপটি শেষ না হওয়া পর্যন্ত 3 টি সম্পূর্ণ রিলিজ চক্র নিতে পারে!
আমার কাছে মনে হয় যে পরিবর্তনের পুরো রোলআউটটি একাধিক প্রকাশের চক্র গ্রহণ করা মানুষের ত্রুটির সম্ভাবনার প্রচুর পরিচয় দেয়। লিঙ্কযুক্ত নিবন্ধে এটি দেখায় যে 2 টি প্রকাশের জন্য কোড পরিবর্তনগুলি প্রয়োজনীয় এবং 3 টি রিলিজের জন্য একটি ডাটাবেস স্থানান্তর প্রয়োজন।
আমি যা খুঁজছি
বর্তমানে, আমরা যদি কিছু মনে রাখতে চাই তবে আমরা আমাদের ইস্যু ম্যানেজমেন্ট সিস্টেমে একটি টিকিট তৈরি করতে পারি, যা বিশৃঙ্খলা সৃষ্টি করে এবং পরবর্তীকালে স্প্রিন্টে বা ব্যাকলগে পরিচালিত হয়ে যেতে পারে; অথবা আমরা একটি টোডো মন্তব্য তৈরি করতে পারি, যা সম্ভবত সম্পূর্ণরূপে ভুলে যাবে।
আমি যা খুঁজছি এটি এমন কোনও উপায় যা কোনও টোডো মন্তব্যের বিপরীতে একটি সময়সীমা থাকতে পারে এবং আমাদের অবিচ্ছিন্ন ইন্টিগ্রেশন সিস্টেম (বর্তমান অনিশ্চিত যা আমরা ব্যবহার করব) যদি এই সময়সীমাটি শেষ হয়ে যায় তবে বিল্ডটি প্রত্যাখ্যান করবে।
উদাহরণস্বরূপ, আমরা যদি কোনও কলামের নাম পরিবর্তন করি তবে আমরা এর জন্য প্রাথমিক মাইগ্রেশন তৈরি করতে পারি এবং তারপরে বাকী দুটি স্থানান্তর তৈরি হয়েছে তা নিশ্চিত করার জন্য দুটি টোডো মন্তব্য:
// TODO by v55: Create migration to move constraints to new column, remove references to old column in app
// TODO by v56: Create migration to drop old column
এটি প্রয়োগ করা মোটামুটি সহজ বলে মনে হচ্ছে তবে আমি ভাবছি যে এরকম কিছু ইতিমধ্যে উপস্থিত রয়েছে কিনা, কারণ আমি চাকাটি পুনরায় উদ্ভাবন করতে চাই না।
অতিরিক্ত চিন্তা
আমি মনে করি যে আমি এখানে XY সমস্যায় ভুগছি, যেহেতু ঘূর্ণায়মান মোতায়েন এবং নীল / সবুজ মোতায়েন একটি সেরা অনুশীলন হিসাবে বিবেচনা করা হয় এটি আশ্চর্যের বিষয় যে ডেটাবেস আপডেটগুলি কম বেদনাদায়ক করার কোনও সমাধান আমি খুঁজে পাচ্ছি না। আপনি যদি ভাবেন যে আমি পুরোপুরি ভুল জিনিসটি সন্ধান করছি, দয়া করে আমাকে একটি মন্তব্যে জানান! এটি বলেছিল, আমি যে ডাটাবেস উদাহরণ দিয়েছি তার একটি মাত্র উদাহরণ, এবং আমি মনে করি যে নির্ধারিত তারিখের সাথে টডো মন্তব্যগুলি অন্যান্য পরিস্থিতিতেও কার্যকর হবে, তাই আমি যদি এই নির্দিষ্ট পরিস্থিতির কাছে পৌঁছাও যাই তবে আমি সত্যই আমার উত্তরগুলি দিতে চাই বাস্তব প্রশ্ন। ধন্যবাদ!
সম্পাদনা: আমি অন্য একটি পরিস্থিতি নিয়ে ভাবলাম যেখানে এটি সহায়ক হতে পারে। আপনার অ্যাপ্লিকেশনের অংশগুলি প্রস্তুত হওয়ার সময় আপনি যদি ফিচার টগলগুলি ব্যবহার করেন তবে সেগুলি পরিষ্কার করার জন্য আপনাকে সতর্কতা অবলম্বন করতে হবে, অন্যথায় আপনি টগল tণ নিয়ে শেষ হতে পারেন । সময়সীমার সাথে মন্তব্যগুলি এটি মনে রাখার একটি ভাল উপায় হতে পারে।
TODO <Bug#>:
অন্যান্য উপাদানগুলির সাথে ইস্যুগুলির জন্য কাজের ক্ষেত্রগুলি ট্র্যাক করতে ব্যবহার করি । এই উপাদানগুলির মধ্যে একটিতে একটি বাগ সাফ হয়ে গেলে আপনি সহজেই সম্পর্কিত কাজের ক্ষেত্রগুলি খুঁজে পেতে এবং ঠিক করতে পারেন। এটি কোনও ইস্যু ট্র্যাকার প্রতিস্থাপন করে না, এটি বজায় রাখা আরও সহজ করে তোলে।