ডিবি মাইগ্রেশন এবং অ্যাজুরে ডিপ্লোয়মেন্ট স্লট


16

আমি একটি নতুন ওয়েব অ্যাপ্লিকেশনটি একটি অ্যাজুরে ওয়েব অ্যাপ্লিকেশন পরিষেবাতে (প্রাক্তন অ্যাজুরে ওয়েবসাইট) ঠেকানোর পরিকল্পনা করছি। আমি আমার স্থাপনার পরীক্ষায় এটির আগে চাপ দেওয়ার আগে পরীক্ষা করতে সক্ষম হবার জন্য আমি স্থাপনার স্লটগুলি ব্যবহার করতে চাই। যতক্ষণ না ডিবি স্কিমা পরিবর্তনের প্রয়োজন হয় ততক্ষণ তা ঠিক আছে। তবে যদি স্কিমা পরিবর্তন হয় তবে একই ডিবি সংস্করণে আমার দুটি সফ্টওয়্যার সংস্করণ অপারেটিং থাকতে পারে না। যেহেতু আমি ইএফ মাইগ্রেশন ব্যবহার করছি, মঞ্চস্থ স্লটে ধাক্কা দেওয়ার সাথে সাথেই সর্বশেষ সংস্করণে একটি ডিবি আপডেট হবে।

সুতরাং আমার প্রশ্নটি হচ্ছে, ডিবি স্থানান্তরের প্রয়োজনে ডিপ্লোয়মেন্ট স্লটগুলির কোনও ব্যবহার আছে কিনা?

এটি কীভাবে বড় সস সরবরাহকারীদের জন্য করা হয়। তারা কি নতুন সংস্করণ সহ তাত্ক্ষণিকভাবে ডিবি স্থানান্তর করছে? এটি অবশ্যই কিছু ডাউনটাইমের কারণ হবে।

আমি এই সমস্যার বরং জটিল সমাধানগুলিই ভাবতে পারি, সহজ কিছু আছে কি?


তাহলে আপনার কাছে ডেভ ডাটাবেস নেই?
জেফো

হ্যাঁ, আমাদের একটি ডেভ এবং কিউএ সিস্টেম রয়েছে। উপরে বর্ণিত সিস্টেমটি উত্পাদন উদ্দেশ্যে।
স্যাম 7

@ স্যাম 7 আপনি কি এই সমস্যার সমাধান খুঁজছেন? চিয়ার্স
ওয়েস্টডিস্কগল্ফ

আমার ভয় হচ্ছে না. আমরা বর্তমানে পৃথক পরিবেশে মাইগ্রেশন পরিবর্তনগুলি পরীক্ষা করছি।
স্যাম 7

@ স্যাম 7: আমি মনে করি আপনি এটি আপনার ডিবিতে নিজস্ব সংযোগের স্ট্রিং সহ একটি পৃথক .কনফিগ-ফাইল দ্বারা পরিচালনা করতে পারবেন। তবে আপনি ঠিক বলেছেন, আপনি যখন মঞ্চ থেকে উত্পাদনে নিযুক্ত করেন, তখন কোনও রোলব্যাকের সুবিধা আর কাজ করে না। ডিবি পরিবর্তনগুলি তাত্ক্ষণিকভাবে প্রযোজ্য হবে। অদূর ভবিষ্যতে একটি সমাধানের জন্য আমি কৌতূহলী ...
রজার এস

উত্তর:


3

স্টোরেজিং এবং প্রোডাকশন দ্বারা ভাগ করা অ্যাজুর অ্যাপ সার্ভিস স্লট এবং একক ডাটাবেস ব্যবহার করে জিরো-ডাউনটাইম প্রকাশগুলি সম্ভব - তবে আপনাকে নিশ্চিত করতে হবে যে সমস্ত ডাটাবেস পরিবর্তনগুলি পিছনের দিকে সামঞ্জস্যপূর্ণ, যেমন ওয়েব অ্যাপের বর্তমান এবং নতুন সংস্করণগুলি একই সাথে চলতে পারে মঞ্চায়ন এবং উত্পাদন স্লট।

কিছু নিয়ম যা এটি নিশ্চিত করে:

  • যে কোনও নতুন ডাটাবেস কলামগুলির পরিবর্তনযোগ্য বা ডিফল্ট মান থাকতে হবে
  • কলামগুলির নামকরণের অনুমতি নেই
  • কলামগুলি বাদ দেওয়ার অনুমতি নেই

যখন আপনার ধ্বংসাত্মক পরিবর্তনগুলি করা দরকার যেমন কলামগুলির নাম পরিবর্তন বা বাদ দেওয়া, এটি করার জন্য আপনার দুটি রিলিজ দরকার:

  1. ওয়েব অ্যাপ্লিকেশনটির নতুন সংস্করণ প্রকাশ করা উচিত, যা নাম পরিবর্তিত / বাদ পড়া কলামগুলির উপর নির্ভরতা সরিয়ে দেয়
  2. একটি অতিরিক্ত প্রকাশ করা হয়েছে যা ধ্বংসাত্মক পরিবর্তনগুলি করে

এটি কিছুটা জটিল শোনার পরেও বাস্তবে আপনি সম্ভবত ধ্বংসাত্মক পরিবর্তন করবেন না।


0

আপনি স্লট-নির্দিষ্ট কনফিগারেশন আইটেম তাকিয়েছেন? ওয়েব অ্যাপ্লিকেশন / সেটিংস / অ্যাপ্লিকেশন সেটিংসের আওতায় আপনি ওয়েব অ্যাপের জন্য সেটিংস নির্দিষ্ট করতে পারেন তবে এটি কেবল এই স্লটে প্রযোজ্য কিনা তাও নির্ধারণ করতে পারেন।

সুতরাং, আপনার মঞ্চ স্লটটির জন্য স্লট-নির্দিষ্ট সংযোগের স্ট্রিং থাকতে পারে এবং স্ল্যাপগুলিকেও অদলবদলে প্রয়োগ করা যায় ration


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