আমরা আমাদের ডাটাবেস স্কিম্যাটাকে বিভিন্ন 5 টি বিভিন্ন ইনস্টলেশন (উত্পাদন, মঞ্চায়ন এবং কয়েকটি উন্নয়ন ইনস্টলেশন) জুড়ে সিঙ্ক্রোনাইজ রাখতে এবং সংস্করণ নিয়ন্ত্রণে ব্যাক আপ রাখার জন্য বিসিওর্ডের অনুরূপ কিছু ব্যবহার করি এবং এটি বেশ ভালভাবে কাজ করে। আমি কিছুটা ব্যাখ্যা করব:
ডাটাবেস কাঠামো সিঙ্ক্রোনাইজ করার জন্য, আমাদের কাছে একটি স্ক্রিপ্ট, আপডেট.পিএফপি, এবং অনেকগুলি সংখ্যক ফাইল রয়েছে যার মধ্যে ১.এসকিউএল, ২.এসকিএল, ৩.এসকিএল ইত্যাদি রয়েছে। স্ক্রিপ্টটির বর্তমান সংস্করণ নম্বর সংরক্ষণের জন্য একটি অতিরিক্ত টেবিল ব্যবহার করে তথ্যশালা. সংস্করণ (এন -১) থেকে ডাটাবেসের ভার্সন এন এ যাওয়ার জন্য এন.এসকিএল ফাইলগুলি হাতে তৈরি করা হয়।
এগুলি টেবিলগুলি যুক্ত করতে, কলামগুলি যুক্ত করতে, কোনও পুরানো থেকে নতুন কলাম ফর্ম্যাটে ডেটা মাইগ্রেট করার জন্য ব্যবহার করা যেতে পারে তারপর কলামটি ড্রপ করুন, "মাস্টার" ডেটা সারি যেমন ব্যবহারকারীর প্রকার ইত্যাদি sertোকান, মূলত, এটি কিছু করতে পারে এবং সঠিক ডেটা সহ মাইগ্রেশন স্ক্রিপ্টগুলি আপনি কখনই ডেটা হারাবেন না।
আপডেট স্ক্রিপ্টটি এর মতো কাজ করে:
- ডাটাবেসের সাথে সংযুক্ত করুন।
- বর্তমান ডাটাবেসের (কারণ কাপড় একটি ব্যাকআপ করুন করবে ভুল হয়ে যেতে পারে) [mysqldump]।
- বুককিপিং টেবিল তৈরি করুন (_মেটা নামে পরিচিত) এটি উপস্থিত না থাকলে।
- _মেটা সারণী থেকে বর্তমান ভার্সনটি পড়ুন। যদি 0 না পাওয়া যায় তবে ধরে নিন।
- সমস্ত। এসকিউএল ফাইলগুলি VERSION এর চেয়ে বেশি নম্বরযুক্ত, ক্রমে তাদের চালিত করুন
- যদি ফাইলগুলির মধ্যে একটি ত্রুটি তৈরি করে: ব্যাকআপে ফিরে যান
- অন্যথায়, বুককিপিং টেবিলের সংস্করণটি সর্বোচ্চ .sql ফাইলের মধ্যে আপডেট করা হয়েছে।
সবকিছু সোর্স নিয়ন্ত্রণে চলে যায় এবং প্রতিটি ইনস্টলেশনের একটি একক স্ক্রিপ্ট এক্সিকিউশন (সঠিক ডাটাবেস পাসওয়ার্ডের সাথে আপডেট.এফপি কল করা ইত্যাদি) সহ সর্বশেষ সংস্করণে আপডেট করার জন্য একটি স্ক্রিপ্ট থাকে। আমরা একটি স্ক্রিপ্টের মাধ্যমে স্টেজিং এবং উত্পাদন পরিবেশকে এসভিএন আপডেট করি যা স্বয়ংক্রিয়ভাবে ডাটাবেস আপডেট স্ক্রিপ্টকে কল করে, তাই প্রয়োজনীয় ডাটাবেস আপডেটের সাথে একটি কোড আপডেট আসে।
আমরা স্ক্র্যাচ থেকে পুরো ডাটাবেসটিকে পুনরায় তৈরি করতে একই স্ক্রিপ্টটি ব্যবহার করতে পারি; আমরা কেবল ডাটাবেসটি ড্রপ এবং পুনরায় তৈরি করব, তারপরে স্ক্রিপ্টটি চালাব যা সম্পূর্ণভাবে ডাটাবেসটিকে পুনরায় তৈরি করবে। স্বয়ংক্রিয় পরীক্ষার জন্য খালি ডাটাবেস তৈরি করতে আমরা স্ক্রিপ্টটিও ব্যবহার করতে পারি।
এই সিস্টেমটি সেট আপ করতে কয়েক ঘন্টা সময় লেগেছিল, এটি ধারণাগতভাবে সহজ এবং প্রত্যেকে সংস্করণ নম্বরকরণের স্কিম পায় এবং এটি যোগাযোগ বা ম্যানুয়ালি সংশোধন না করে ডেটাবেস ডিজাইনটি এগিয়ে নিয়ে যাওয়ার এবং বিকশিত করার ক্ষমতা রাখার ক্ষেত্রে মূল্যবান হয়ে উঠেছে it সমস্ত ডাটাবেসে।
যদিও পিএইচপিএমএইডমিন থেকে প্রশ্নগুলি পেস্ট করার সময় সাবধান! এই উত্পন্ন প্রশ্নগুলিতে সাধারণত ডাটাবেসের নাম অন্তর্ভুক্ত থাকে যা আপনি অবশ্যই চাইবেন না কারণ এটি আপনার স্ক্রিপ্টগুলি ভেঙে দেবে! টেবিল তৈরির মতো কিছু mydb
। newtable
(...) সিস্টেমে থাকা ডাটাবেসটিকে মাইডিবি না বললে ব্যর্থ হবে। আমরা একটি প্রাক-মন্তব্য এসভিএন হুক তৈরি করেছি mydb
যা স্ট্রিংযুক্ত। এসকিউএল ফাইলগুলি অস্বীকার করবে , এটি একটি নিশ্চিত সাইন যে কোনও ব্যক্তি যথাযথ চেকিং ছাড়াই পিএইচপিএমআইএডমিন থেকে কপি / পেস্ট করেছে।