কোন সংস্করণ নিয়ন্ত্রণ পদ্ধতিগুলি দলগুলির ডেটাবেস স্কিমা পরিবর্তনগুলি ট্র্যাক করতে সহায়তা করে?
কোন সংস্করণ নিয়ন্ত্রণ পদ্ধতিগুলি দলগুলির ডেটাবেস স্কিমা পরিবর্তনগুলি ট্র্যাক করতে সহায়তা করে?
উত্তর:
কয়েক মিনিট আগে আমি এটি পরীক্ষা করে দেখছিলাম: একটি টেবিল যা একটি ডেটাবেসযুক্ত সমস্ত প্রকল্পে থাকা উচিত , এটি ব্যবহারের পক্ষে যথেষ্ট সহজ বলে মনে হয়, এটি পরীক্ষা করে দেখুন:
একে স্কিমা_ভার্সন (বা মাইগ্রেশন, বা যা কিছু আপনার উপযুক্ত করে) বলা হয় এবং এর উদ্দেশ্য ডাটাবেসে কাঠামোগত বা ডেটা পরিবর্তনের উপর নজর রাখা। একটি সম্ভাব্য কাঠামো (মাইএসকিউএল-তে উদাহরণ):
create table schema_version ( `when` timestamp not null default CURRENT_TIMESTAMP, `key` varchar(256) not null, `extra` varchar(256), primary key (`key`) ) ENGINE=InnoDB;
স্কিমা_ভার্সন (
key
,extra
) মানগুলিতে সন্নিবেশ করুন ('001', 'স্কিমা সংস্করণ');আপনি প্রকল্পের শুরু থেকে এই টেবিলটি যুক্ত করুন বা আপনি প্রথম সংস্করণটিকে কোনও মঞ্চ বা প্রোডাকশন সার্ভারে স্থাপন করার ঠিক পরে আপনার উপর নির্ভর করবে।
যখনই আপনাকে ডাটাবেস কাঠামো পরিবর্তন করতে বা কোনও ডেটা মাইগ্রেশন সম্পাদনের জন্য কোনও এসকিউএল স্ক্রিপ্ট কার্যকর করতে হবে আপনার সেই টেবিলেও একটি সারি যুক্ত করা উচিত। এবং সেই স্ক্রিপ্টের সূচনা বা শেষের দিকে সন্নিবেশ বিবৃতিটির মাধ্যমে এটি করুন (যা প্রকল্পের কোড সংগ্রহস্থলের প্রতিশ্রুতিবদ্ধ)।
...
আমি মনে করি আপনার বিল্ড প্রক্রিয়াটির অংশ হিসাবে ডাটাবেস তৈরি করা সবচেয়ে ভাল পদ্ধতি । সমস্ত কোডের স্ক্রিপ্টগুলি বাকী কোডের সাথে উত্স নিয়ন্ত্রণে রাখুন এবং প্রত্যেকে নিজের পরিবেশের জন্য দায়ী।
যে ব্যর্থ, RedGate হয়েছে SSMS মধ্যে উৎস নিয়ন্ত্রণ সংহত করার একটি হাতিয়ার এবং এসকিউএল তুলনা তুলনা / মাইক্রোসফট SQL সার্ভার স্কিমের সিঙ্ক্রোনাইজ জন্য দরকারী। ভিজ্যুয়াল স্টুডিও ডেটাবেস সংস্করণে একটি অন্তর্নির্মিত স্কিমা তুলনা সরঞ্জামও রয়েছে ।
অন্য একটি প্রশ্ন আমাকে মাইগ্রেটার ডট নেটকে নিয়ে যায় যা আমি আমার প্রচুর মুক্ত সময়ে তদন্ত শুরু করতে যাচ্ছি। এটি দেখতে একটি ভাল পদ্ধতির মতো দেখায় তবে এটি আপনি করতে ইচ্ছুক চেয়ে বেশি সময় / ওভারহেড বিনিয়োগ হতে পারে।
eiefai ইতিমধ্যে একটি টেবিল উল্লেখ করেছে যা একটি ডেটাবেস সহ সমস্ত প্রকল্পে থাকা উচিত । এটি একটি দুর্দান্ত ব্লগ পোস্ট, তবে আইএমও এটি ডাটাবেস পুনর্বিবেচনা নিয়ন্ত্রণের জন্য একটি কার্যক্ষম সমাধানের অংশ হিসাবে চলে। আমি মনে করি সত্যিকারের বিশ্বে এই প্রশ্নের "উত্তর" দেওয়ার যে কোনও প্রয়াসের ভিসিএস এবং ডাটাবেসগুলি সম্পর্কে অন্যান্য কিছু তথ্য বিবেচনা করা দরকার:
এই প্রশ্নে যোগাযোগের জন্য বেশ কয়েকটি পৃথক কোণ রয়েছে বলে আমি মনে করি। আমার বিশ্বাস, "সরঞ্জাম-প্রথম" কোণটি প্ল্যাটফর্ম এবং ব্যক্তিগত পছন্দের ভিত্তিতে পরিবর্তিত হতে চলেছে। দৃষ্টিতে কেস: আমি এমএস ভিজ্যুয়াল স্টুডিওতে একটি ডাটাবেস প্রকল্প ব্যবহার করছি তবে আমি নিশ্চিত নই যে এটি মাইএসকিউএল-এর জন্য একটি দুর্দান্ত সমাধান is আমি এমন লোকদেরও জানি যারা রেডগেট, এরউইন, এমবারকাডেরো ইত্যাদি থেকে পছন্দসই সরঞ্জামগুলিতে বেশ বিক্রি হয় know
এই প্রশ্নের একটি "প্রক্রিয়া-প্রথম" কোণও রয়েছে, যা পরবর্তী প্রশ্নগুলিতে এই সাইটে পুনরায় দেখা হবে (আশা করা যায়)। এই প্রক্রিয়াটির মূল স্টোনগুলি আপনার স্কিমা উত্স নিয়ন্ত্রণের অধীনে পাচ্ছে এবং এমন পরিবর্তনগুলি পরিচালনা করছে যে আপনি চাহিদা অনুযায়ী "এক্স" সংস্করণ "y" থেকে স্কিমার পরিবর্তনগুলি প্রয়োগ করতে পারেন।
এই বিষয়ের একটি চূড়ান্ত উত্তর বইয়ের মতো দেখতে শেষ হতে চলেছে, তাই সম্ভবত এটির একটি উল্লেখ করেই শুরু করা উচিত: রেডগেট সম্প্রতি " এসকিউএল সার্ভারের টিম-ভিত্তিক ডেভলপমেন্ট টু দ্য রেড গেট গাইড " নামে একটি ফ্রি ইবুক প্রকাশ করেছে এবং সেখানে রয়েছে বিতর্ক করার জন্য প্রচুর পরিমাণে, এটি বিতর্ক শুরু করার জন্য বেশ ভাল জায়গা, আইএমও। নামের বিপরীতে, এই বইয়ের বেশিরভাগ উপাদান কোনও ডিবিতে প্রয়োগ করার জন্য যথেষ্ট সাধারণ (কেবল এসকিউএল সার্ভার নয়) এবং যে কোনও সরঞ্জাম সেট (কেবল রেডগেট নয়)। যদি আপনি এটি ইতিমধ্যে না দেখে থাকেন তবে এটি অবশ্যই কমপক্ষে একটি স্কিমের পক্ষে মূল্যবান।
অবশেষে, এটি সম্ভবত স্ট্যাকওভারফ্লো থেকে "উত্তরাধিকার উত্তর" এর সাথে সংযোগ স্থাপনের উপযুক্ত ।
স্কিমাক্রোলার হ'ল সমস্ত ডাটাবেস স্কিমা অবজেক্ট সহ একটি পাঠ্য ফাইল তৈরি করার জন্য আমার সরঞ্জাম। আমি এই পাঠ্য আউটপুটটিকে উভয়ই মানব-পঠনযোগ্য, পাশাপাশি অন্য সার্ভারের অনুরূপ আউটপুটটির বিপরীতে পৃথক-সক্ষম করতে ডিজাইন করেছি।
অনুশীলনে, আমি যা পেয়েছি তা হ'ল বিল্ডের অংশ হিসাবে যখন করা হয় তখন ডাটাবেস স্কিমার একটি পাঠ্য ফাইল আউটপুট করা কার্যকর। এইভাবে, আপনি আপনার উত্স কোড নিয়ন্ত্রণ সিস্টেমে পাঠ্য ফাইলটি পরীক্ষা করতে পারেন এবং কীভাবে আপনার স্কিমা সময়ের সাথে বিবর্তিত হয়েছে তার একটি সংস্করণ ইতিহাস রয়েছে। কমান্ড-লাইন থেকে স্কিমাক্রোলার এটিকে স্বয়ংক্রিয় করতে ডিজাইন করা হয়েছে।