উত্স নিয়ন্ত্রণের অধীনে সঞ্চিত পদ্ধতি, সেরা অনুশীলন


16

আমি বর্তমানে একটি নেট নেট অ্যাপ্লিকেশন উত্স নিয়ন্ত্রণের জন্য কচ্ছপ এসভিএন ব্যবহার করছি। আমাদের এসকিউএল সার্ভার সঞ্চিত পদ্ধতিগুলি উত্স নিয়ন্ত্রণে আনার সর্বোত্তম উপায় কী হবে? আমি বর্তমানে আমার উন্নয়নের পরিবেশ হিসাবে ভিএস ২০১০ ব্যবহার করছি এবং এসকিউএল সার্ভার ডেটা সরঞ্জাম (এসএসডিটি) ব্যবহার করে অফ-প্রাইম এসকিউএল সার্ভার ২০০৮ আর 2 ডাটাবেসের সাথে সংযুক্ত করছি।

আমি অতীতে যা করে যাচ্ছি তা হ'ল প্রসকে একটি। এসকিউএল ফাইলে সংরক্ষণ করা এবং এই ফাইলগুলিকে উত্স নিয়ন্ত্রণে রাখা। আমি নিশ্চিত যে এর চেয়ে আরও কার্যকর কোনও উপায় অবশ্যই থাকতে হবে? প্রোডাকশন মেশিনে আমি ভিএস 2010, এসএসডিটি বা এসকিউএল সার্ভারে ইনস্টল করতে পারি এমন কোনও এক্সটেনশন রয়েছে কি?


2
আপনি যদি ভিজ্যুয়াল স্টুডিওতে এসএসডিটি প্রকল্পের ধরণটি ব্যবহার করেন তবে সেই প্রকল্পটি উত্স নিয়ন্ত্রণে যুক্ত করুন। এটাই.
মার্ক স্টোরী-স্মিথ

1
দয়া করে আপনার উদ্দেশ্য (গুলি) পরিষ্কার করুন - আপনি কি কেবল ডাটাবেস অবজেক্টগুলির সংস্করণ খুঁজছেন, বা আপনি এটিও একটি স্থাপনার প্ল্যাটফর্ম হিসাবে ব্যবহার করার চেষ্টা করছেন?
জন সেগেল

উত্তর:


14

সেখানে যেমন সেখানে আউট সরঞ্জাম, হয় Redgate থেকে এই , কিন্তু আমি সবসময় পাওয়া যায় যে শ্রেষ্ঠ সম্ভবত এমনকি আপনার সমাধান একটি ডাটাবেজ প্রজেক্ট (SSDT?) এসকিউএল ফাইল হিসেবে সেভ করতে হয়।

এর পাশাপাশি, আমি নিম্নলিখিত নির্দেশিকাগুলি পরামর্শ দিই:

  • সর্বদা এসভিএন সংস্করণটিকে "বর্তমান" / "সর্বশেষ" হিসাবে ধরে নিন
  • আপনার চালানো প্রতিটি স্ক্রিপ্টের if exists then dropশুরুতে একটি উপযুক্ত " " রয়েছে তা নিশ্চিত করুন
  • আপনার অনুমতিগুলি স্ক্রিপ্ট করতে মনে রাখবেন, যদি থাকে তবে

আপনি এসএসএমএস থেকে সরাসরি এসএসএমএস থেকে স্ক্রিপ্ট করে এই এসকিউএল ফাইলগুলি তৈরি করতে পারেন এবং আপনি এসএসএমএসকে আপনার " drop" এবং " create" পাশাপাশি আপনার অনুমতিগুলির পাশাপাশি স্ক্রিপ্টে সেট করতে পারেন ।


আমি ডাটাবেস প্রকল্পের ধরণের সম্পর্কে অসচেতন ছিলাম এবং কেবল এসএসডিটি অন্বেষণ শুরু করেছি, তবে এটি আশাব্যঞ্জক মনে হচ্ছে। তৃতীয় পক্ষের সরঞ্জামগুলির উপর নির্ভরতা না থাকায় আমি এই সমাধানটি বেছে নিয়েছি এবং আমি সহজেই আমাদের বর্তমান উত্স নিয়ন্ত্রণের মধ্যে .sql ফাইলগুলি ফেলে দিতে পারি।
কিউএফদেভ

এছাড়াও অধিকারগুলিকে প্রোডে ডিভস করার অনুমতি দেবেন না এবং অধিকার রয়েছে এমনরা কেবল উত্স নিয়ন্ত্রণ থেকে মোতায়েন করুন।
এইচএলজিইএম

3
"যদি তাদের উপস্থিতিগুলি ড্রপ থাকে তবে (নতুন করে সংজ্ঞা দিয়ে তৈরি করুন") সাথে সাবধান হন যদি অন্য মতামত / প্রকোক্তদের দ্বারা উল্লিখিত টেবিল / ভিউগুলি পরিবর্তন করে। আমি এমন পরিস্থিতিতে পড়েছি যেখানে পূর্ববর্তী কাঠামোটি ধরে না রেখে পুনরায় পুনরায় ব্যবহারের জন্য কোনও ক্যোয়ারী পরিকল্পনার কারণে এ জাতীয় নির্ভরশীল ভিউগুলির আউটপুট দুর্নীতিগ্রস্থ (কলামের ধরণ এবং বিষয়বস্তু সরানো হয়েছে তবে নাম নয়)। একটি নিরাপদ বিকল্পটি "যদি বিদ্যমান না থাকে তবে ডামি তৈরি করুন" এর পরে "অল্টার টেবিল / ভিউ / প্রোক" হ'ল অল্টার সিস্টেমেডপেন্ডস রেকর্ড অনুসরণ করবে যেমন প্রয়োজন অনুযায়ী পরিকল্পনা বাতিল করতে হবে এবং ড্রপ + ক্রম ড্রপ মোছা যেমন রেকর্ড মুছবে না এবং তৈরি করবে না স্ক্যান করবে না ঝুলন্ত রেফারেন্স।
ডেভিড স্পিলিট

@ ডেভিডস্পিলিটের মন্তব্যটি আরও গুরুত্বপূর্ণ যদি আপনার সংস্করণ নিয়ন্ত্রণে ট্রিগার থাকে, কারণ ড্রপ + ক্রিয়েড অচলাবস্থায়ও ব্যর্থ হতে পারে, ডামি + অলটার তৈরির সাথে ঘটবে না
জেমস জেড

4

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


3

এটি আপনার উত্স নিয়ন্ত্রণে আনাতে রেডগেট উত্স নিয়ন্ত্রণটি ব্যবহার করুন।

http://www.red-gate.com/products/sql-development/sql-source-control/

এটি আপনার এসএসএমএসকে সরাসরি আপনার উত্স নিয়ন্ত্রণের সংগ্রহস্থলে ডেকে আনবে এবং এমনকি স্থিতিশীল ডেটা চেক করার অনুমতি দেয়।

একটি যাদুমন্ত্র মত কাজ করে


3

আনখসভন চেষ্টা করুন , অত্যন্ত প্রস্তাবিত এবং নিখরচায়।

হোমপেজ থেকে:

আনখএসভিএন হ'ল মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও ২০০,, ২০০৮, ২০১০ এবং ২০১২ এর জন্য সাবসার্জন সোর্স কন্ট্রোল সরবরাহকারী ।

আনখএসভিএন ভিজ্যুয়াল স্টুডিও দ্বারা সমর্থিত সমস্ত প্রকল্পের ধরণের অ্যাপাচি ™ সাবভার্সিয়ন® উত্স কোড পরিচালনার সহায়তা সরবরাহ করে এবং আপনাকে সরাসরি মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও আইডিইর ভিতরে থেকে সবচেয়ে সাধারণ সংস্করণ নিয়ন্ত্রণ ক্রিয়াকলাপ সম্পাদন করতে দেয়।

মুলতুবি পরিবর্তনসমূহ ড্যাশবোর্ড আপনাকে আপনার বিকাশ প্রক্রিয়াতে একটি অনন্য অন্তর্দৃষ্টি দেয় এবং উত্স কোড এবং ইস্যু পরিচালনা বৈশিষ্ট্যগুলিতে সহজে অ্যাক্সেস সরবরাহ করে। ডিপ সোর্স কোড কন্ট্রোল (এসসিসি) ইন্টিগ্রেশন আপনাকে বিকাশের দিকে মনোনিবেশ করার অনুমতি দেয়, যখন আনখএসভিএন আপনার সমস্ত পরিবর্তনগুলি নজর রাখে এবং কার্যকরভাবে আপনার নির্দিষ্ট প্রয়োজনগুলি পরিচালনা করার জন্য সরঞ্জাম সরবরাহ করে।


3

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

এসএসডিটি সরঞ্জামের সাহায্যে আপনার কাছে ডেটাবেস সংজ্ঞাটির 'সর্বশেষতম সংস্করণ' রয়েছে যা আপনাকে সহজেই স্কিমা তুলনা করতে এবং স্কিমা আপগ্রেড স্ক্রিপ্টগুলি তৈরি করতে দেয়।

বলেছিল, স্কিমাটি সাধারণত সমীকরণের একটি অংশ is বাস্তব জীবনে এটি দেখা যায় যে অলরেডি ডাটাবেসে প্রচুর ডেটা থাকে। এবং আমার ব্যবহারকারীরা যখন এটি ছেড়ে দেয় তখন বরং হতাশ হওয়ার প্রবণতা থাকে।

সুতরাং যত তাড়াতাড়ি আমি v1.0 রোল আউট হিসাবে আপগ্রেড স্ক্রিপ্টগুলি বজায় রাখতে প্রয়োজনীয়তা দেখা দেয়। কখনও কখনও এগুলি শুধুমাত্র স্কিমা পরিবর্তনগুলি ধারণ করে, তবে অনেক সময় আমার অন্য কোনও টেবিলের সামগ্রীর উপর ভিত্তি করে ডিফল্ট তৈরি করতে হবে, আমি ডেটা বীজ না হওয়া পর্যন্ত একটি নির্দিষ্ট প্রতিবন্ধকতা প্রকাশ করা দরকার Usually আমার পছন্দ হ'ল ডাটাবেস প্রকল্পেও এই আপগ্রেড স্ক্রিপ্টটি একটি পৃথক ফোল্ডারে রাখা উচিত। এগুলি সাধারণত 'v1.0 থেকে v1.1 এ আপগ্রেড' এর মতো দেখায়।

আমার ডাটাবেসে সর্বদা একটি রেফারেন্স সারণি থাকে যা আমাকে বর্তমান সংস্করণ নম্বরটি বলে, তাই আমি বেমানান আপগ্রেডগুলি ব্লক করতে পারি। আমার আপগ্রেড স্ক্রিপ্টগুলির প্রথম বিবৃতিটি বর্তমান সংস্করণটি পরীক্ষা করে এবং যদি এটি প্রত্যাশিত থেকে আলাদা হয় তবে জামিন দেয়।

ডাটাবেস প্রকল্পগুলির আরেকটি সুবিধা হ'ল একই স্কিমার উপর ভিত্তি করে ডেটার বিভিন্ন সেট স্থাপন করতে সক্ষম হওয়া। বিকাশের জন্য আমার কাছে আলাদা ডেটাসেট রয়েছে, কিউএ টিম, ব্যবহারকারী গ্রহণযোগ্যতা পরীক্ষা এবং স্বয়ংক্রিয় ইন্টিগ্রেশন পরীক্ষার জন্য। যেহেতু একটি ডাটাবেস প্রকল্পে কেবলমাত্র 1 টি পোস্ট-ডিপ্লোয় স্ক্রিপ্ট থাকতে পারে, তাই কৌশলটি এখানে একটি নতুন ডাটাবেস প্রকল্প তৈরি করা হবে যা 'মাস্টার' প্রকল্পটি উল্লেখ করে এবং সেই প্রকল্পের পোস্ট স্থাপনার প্রক্রিয়াটির কাস্টম ডেটাসেট অংশ হিসাবে তৈরি করে।

এগুলি ছিল আমার 2 সেন্ট, সর্বোপরি যে কোনও প্রক্রিয়া আপনি আসুন না কেন এটি অবশ্যই আপনার এবং আপনার দলের সাথে খাপ খায় এবং আশা করি আপনাকে বেশিরভাগ সাধারণ কাজগুলিতে সমর্থন করবে।


0

আমি নিজেই একটি সরঞ্জাম লিখে শেষ করেছি।

এটি বিনামূল্যে ডাউনলোডের জন্য উপলব্ধ - http://www.gitsql.net

আমি আশা করি এটি অন্যান্য লোকদের যারা একই শেষ লক্ষ্য অর্জন করতে চায় তাদের সহায়তা করে।

এখানে একটি নিবন্ধ রয়েছে যা কীভাবে এসকিউএল সার্ভার সোর্স নিয়ন্ত্রণ করতে হবে তা বর্ণনা করে। http://gitsql.net/documentation-04_SQL_Server_and_GIT

আমি এটি যতটা সম্ভব সহজ করার চেষ্টা করেছি। (3 পর্দা)

  • এসকিউএল সার্ভারের সাথে সংযুক্ত করুন
  • বস্তু নির্বাচন করুন
  • থেকে আমদানি / রফতানি করতে ফোল্ডারটি বেছে নিন

আমি - দুর্ঘটনাক্রমে - আমদানি - বা রফতানি করতে পৃথক বস্তুগুলি বেছে বেছে বেছে নিতে সক্ষম হওয়ার বৈশিষ্ট্যটি যুক্ত করেছি। যা এটি বিকাশকালে অনেক সহজ করে তোলে।

আমি সাধারণত একটি সঞ্চিত প্রক্রিয়া এবং একটি টেবিলটিতে পরিবর্তন করব এবং তারপরে জিআইটি ডিরেক্টরিতে এই দুটি বস্তু রফতানি করব।

তারপরে আমি উত্স গাছটি দৃশ্যত পরিবর্তনগুলি দেখার জন্য ব্যবহার করি এবং যদি আমি খুশি হন তবে সেগুলি বিটবাকেটে প্রতিশ্রুতিবদ্ধ।


4
বিনামূল্যে ডাউনলোড - তবে কেবল 20 টি জিনিসের জন্য। এই উত্তরটি আপনার পণ্যের জন্য কেবল একটি বিজ্ঞাপন।
Thronk

-1

আমার সংস্থা সবেমাত্র এই নতুন সরঞ্জামটি ( ফ্রি ) তৈরি করেছে যা আপনাকে সহজেই এসকিউএল ডাটাবেসের জন্য স্ক্রিপ্টগুলি বের করতে সহায়তা করে, তুলনা করতে পারে, লাইভ ডাটাবেসের সাথে স্ক্রিপ্টগুলির দ্রুত তুলনা করার জন্য উইনমার্জ চালু করতে পারে এবং স্ক্রিপ্টগুলি আপডেট করতে বা পরিবর্তনগুলি প্রয়োগ করতে পার্থক্যগুলিও সমন্বয় করতে পারে ডাটাবেসে (টেবিলগুলি বাদে, এতে আরও জটিলতা এবং আরও ঝুঁকি রয়েছে)।

সার্ভেন্ট হ'ল এসকিউএল সার্ভার ডেটাবেসগুলিকে ভার্সন-নিয়ন্ত্রিত স্ক্রিপ্টগুলির সাথে তুলনা করার জন্য উইনমার্জ।

এটি সফ্টওয়্যার বিকাশে সেরা-অনুশীলনগুলিকে সমর্থন করে এবং উত্সাহ দেয়:

  • ডাটাবেস অবজেক্টগুলিকে সংস্করণ-নিয়ন্ত্রণে রাখা (*)
  • উত্পাদন পরিবেশে বিকাশকারীদের কাছ থেকে অ্যাক্সেসের অধিকারগুলি সরানো
  • কর্মক্ষমতা বাধা এবং নামকরণের মানগুলির জন্য পদ্ধতি / দৃষ্টিভঙ্গির পরিবর্তনের ডিবিএ পর্যালোচনা
  • সম্পূর্ণরূপে যোগ্য শনাক্তকারী এবং বন্ধনীযুক্ত ডিলিমিটার ব্যবহার করে অবজেক্টের নামকরণ (এটি তৈরি পদ্ধতি / দৃশ্য / ফাংশন / ইত্যাদি স্ক্রিপ্টগুলি স্থির করে)

(*) স্ক্রিপ্টগুলি স্থানীয় ফোল্ডারে সংরক্ষিত হয় যা গিট, সাবভারশন, টিএফএস, উত্স নিরাপদ, বা অন্য কোনও ভিসিএসের কার্যকরী অনুলিপি হতে পারে।

ফ্রি ডাউনলোড: http://servantt.com

পেশাদার সংস্করণ (যা এখনও বিকাশাধীন) সম্পূর্ণ ভিন্ন জন্তু হবে - এটি আইআইএস আপডেট করা, উইন্ডোজ পরিষেবাদি আপডেট করা ইত্যাদির মতো স্বয়ংক্রিয় কাজগুলির জন্য ডিপ্লোয়মেন্ট অটোমেশন (রিলিজ ম্যানেজমেন্ট) লক্ষ্যযুক্ত targeted


এই সরঞ্জামটি কাজ করে না।
নীরজ কুমার

@ নীরাজকুমার পৃষ্ঠায় একটি "আমাদের সাথে যোগাযোগ করুন" ঠিকানা রয়েছে যেখানে আপনি নিজের সমস্যার বর্ণনা দিতে পারেন। আমি সাহায্য করতে পেরে খুশি হব। এক হাজারেরও বেশি সক্রিয় ব্যবহারকারী রয়েছে, আমি ধরে নিই এটি কিছুটা অর্থে কাজ করে :-)
ড্রিজিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.