ডাটাবেস কাঠামোর পরিবর্তনের জন্য কি কোনও সংস্করণ নিয়ন্ত্রণ ব্যবস্থা আছে?


124

আমি প্রায়শই নিম্নলিখিত সমস্যার মধ্যে চলে যাই।

আমি এমন একটি প্রকল্পে কিছু পরিবর্তন নিয়ে কাজ করি যার জন্য ডাটাবেসে নতুন টেবিল বা কলাম প্রয়োজন। আমি ডাটাবেস পরিবর্তন করেছি এবং আমার কাজ চালিয়ে যাচ্ছি। সাধারণত, আমি পরিবর্তনগুলি লিখতে মনে করি যাতে সেগুলি লাইভ সিস্টেমে প্রতিলিপি করা যায়। যাইহোক, আমি সবসময় মনে করি না আমি কী পরিবর্তন করেছি এবং আমি এটি লিখতে সবসময় মনে করি না।

সুতরাং, আমি লাইভ সিস্টেমের দিকে ধাক্কা দিয়েছি এবং একটি বড়, সুস্পষ্ট ত্রুটি পেয়েছি যে NewColumnXউহু নেই।

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



আমাদের অন ​​টপিক গাইডেন্স অনুসারে, " কিছু প্রশ্ন এখনও উপরের তালিকাভুক্ত বিভাগগুলির মধ্যে মাপসই করা হলেও বিষয়গুলি থেকে বাইরে রয়েছে: ... আমাদের কাছে কোনও বই, সরঞ্জাম, সফ্টওয়্যার লাইব্রেরি, টিউটোরিয়াল বা অন্যান্য প্রস্তাব দেওয়ার বা সন্ধান করার জন্য জিজ্ঞাসা করা প্রশ্ন অফ সাইট রিসোর্স অফ-টপিক ... "
রবার্ট কলম্বিয়া

উত্তর:


62

রুবেল অন রেলে, মাইগ্রেশনের ধারণা রয়েছে - ডাটাবেস পরিবর্তন করার জন্য একটি দ্রুত স্ক্রিপ্ট।

আপনি একটি মাইগ্রেশন ফাইল তৈরি করেন, যার ডিবি সংস্করণ (যেমন একটি কলাম যুক্ত করা) বাড়ানোর নিয়ম রয়েছে এবং সংস্করণটি ডাউনগ্রেড করার নিয়ম রয়েছে (যেমন কোনও কলাম অপসারণ)। প্রতিটি মাইগ্রেশন নম্বরযুক্ত, এবং একটি টেবিল আপনার বর্তমান ডিবি সংস্করণ ট্র্যাক করে।

করতে আপ মাইগ্রেট ": স্থানান্তরণের ডিবি" যা আপনার সংস্করণ এ দেখায় এবং প্রয়োজনীয় স্ক্রিপ্ট প্রযোজ্য, আপনি একটি কমান্ড নামক চালানো। আপনি একইভাবে মাইগ্রেট করতে পারেন।

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


2
এটি রুবি প্রকল্পগুলির জন্য পছন্দ। জাভাতে এই নকশার নিকটতম সমতুল্য হ'ল মাইবাটিস স্কিমা মাইগ্রেশন। .NET এর সমতুল্য হ'ল কোড . google.com/p/migratordotnet । তারা এই কাজের আইএমওর জন্য দুর্দান্ত সরঞ্জাম।
ড্যান ট্যানার

30

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

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

এছাড়াও, আমার সাধারণত ডিবি - কনফিগারেশনে একটি টেবিল থাকে: যেমন:

এসকিউএল

CREATE TABLE Config
(
    cfg_tag VARCHAR(50),
    cfg_value VARCHAR(100)
);

INSERT INTO Config(cfg_tag, cfg_value) VALUES
( 'db_version', '$Revision: $'),
( 'db_revision', '$Revision: $');

তারপরে, আমি আপডেট বিভাগে নিম্নলিখিতগুলি যুক্ত করব:

UPDATE Config SET cfg_value='$Revision: $' WHERE cfg_tag='db_revision';

db_versionশুধুমাত্র পরিবর্তিত যখন ডাটাবেসের recreated থাকতে পায়, এবং db_revisionআমাকে একটি ইঙ্গিত কতদূর ডিবি বেসলাইন বন্ধ রয়েছে দেয়।

আমি আপডেটগুলি তাদের নিজস্ব পৃথক ফাইলগুলিতে রাখতে পারি, তবে আমি সেগুলি একসাথে ম্যাশ করতে এবং প্রাসঙ্গিক বিভাগগুলি নিষ্কাশন করতে কাট এবং পেস্ট ব্যবহার করতে পছন্দ করেছি। আরও কিছুটা বাড়ির রক্ষণাবেক্ষণের ব্যবস্থা রয়েছে, অর্থাত্ এগুলি হিম করতে: সংশোধন 1.1 from থেকে ':' সরান।


12

মাইবাটিস (পূর্বে আইব্যাটিস) এর স্কিমা মাইগ্রেশন রয়েছে , কমান্ড লাইনে ব্যবহারের জন্য সরঞ্জাম। এটি জাভাতে লেখা যদিও এটি কোনও প্রকল্পের সাথে ব্যবহার করা যেতে পারে।

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

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


11

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

তাদের একটি এসকিউএল সার্ভার এবং ওরাকল সংস্করণ উভয়ই রয়েছে।


11

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

<createTable tableName="USER"> 
   <column name="firstname" type="varchar(255)"/>
</createTable>

সুতরাং আপনার নিজের এটি পরিচালনা করার দরকার নেই

খাঁটি এসকিএল স্টেটমেন্ট বা ডেটা আমদানিও সমর্থিত।


আমরা লিকুইবেস ব্যবহার করি তবে বিভিন্ন তথ্যের জন্য আমরা 3 টি পৃথক পদ্ধতির ব্যবহার করি: 1. কাঠামো (টেবিল, দর্শন, ...): historicalতিহাসিক চেঞ্জলগ ২. কোড (পদ্ধতি, পিএল / এসকিউএল, ফাংশন): কেবলমাত্র একটি পরিবর্তনের সাথে চিহ্নিত চিহ্ন রানালওয়েস = সত্য রনওনচেঞ্জ = সত্য ৩. কোড সারণী, অন্য মেটা "ধ্রুবক" সারণীতে সঞ্চিত: কোডগুলির জন্য একই পদ্ধতির, কেবল একটি পরিবর্তনের জন্য, মুছে ফেলুন, সমস্ত তথ্য সন্নিবেশ করুন
পেরেসেজ

জাভাটির জন্য আমি আজকাল ফ্লাইওয়েডবি.আর.এ এক নজর দেওয়ার জন্য সুপারিশ করছি - এই সাইটে বৈশিষ্ট্যের
তুলনাটিও দেখুন

10

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


12
হ্যাঁ, তবে ভিন্ন ভিন্ন এসকিউএল ফাইলগুলি আপনাকে আপনার
ডিভ

9

আপনি যদি এসকিউএল সার্ভার ব্যবহার করেন তবে ডেটা ডুডকে (হার্টের ডেটাবেস সংস্করণ ভিজ্যুয়াল স্টুডিও) বীট করা শক্ত হবে। আপনি যখন এটির হ্যাং পেয়ে যান, আপনার ডাটাবেসের উত্স নিয়ন্ত্রিত সংস্করণ এবং উত্পাদনের সংস্করণটির মধ্যে তুলনা করে একটি স্কিমা করা বাতাসের বাতাস। এবং একটি ক্লিকের সাহায্যে আপনি আপনার ভিন্ন ডিডিএল তৈরি করতে পারেন।

এমএসডিএন-তে একটি শিক্ষামূলক ভিডিও রয়েছে যা খুব সহায়ক।

আমি ডিবিএমএস_মেটাডাটা এবং টোড সম্পর্কে জানি, তবে যদি কেউ ওরাকলের জন্য ডেটা ডুড নিয়ে আসতে পারে তবে জীবনটি সত্যিই মধুর হবে।


8

আপনার প্রাথমিক সংস্করণ নিয়ামকটিতে টেবিলের বিবরণী তৈরি করুন, তারপরে পরিবর্তনীয় টেবিলের স্টেটমেন্ট যুক্ত করুন, তবে কখনও ফাইল সম্পাদনা করবেন না, কেবলমাত্র আরও কিছু ফাইল পরিবর্তন করুন যা আদর্শভাবে নাম অনুসারে বা "পরিবর্তন সেট" হিসাবে নামকরণ করা হয়, যাতে আপনি কোনও নির্দিষ্ট স্থাপনার জন্য সমস্ত পরিবর্তনগুলি খুঁজে পেতে পারেন।

আমি দেখতে পাচ্ছি সবচেয়ে শক্তিশালী অংশটি নির্ভরতা অনুসরণ করছে, উদাহরণস্বরূপ, একটি নির্দিষ্ট ডিপ্লোয়মেন্ট টেবিলের জন্য বি টেবিল A ​​এর আগে আপডেট করা দরকার might


8

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


8

ওরাকল প্যাকেজটি একবার দেখুন DBMS_METADATA।

বিশেষত, নিম্নলিখিত পদ্ধতিগুলি বিশেষভাবে কার্যকর:

  • DBMS_METADATA.GET_DDL
  • DBMS_METADATA.SET_TRANSFORM_PARAM
  • DBMS_METADATA.GET_GRANTED_DDL

একবার তারা কীভাবে কাজ করে তার সাথে পরিচিত হয়ে গেলে (বেশ স্ব-ব্যাখ্যামূলক) আপনি সেই পদ্ধতির ফলাফলগুলি পাঠ্য ফাইলগুলিতে ফেলে দিতে সোর্স স্ক্রিপ্ট লিখতে পারেন যা উত্স নিয়ন্ত্রণে রাখা যেতে পারে। শুভকামনা!

এমএসএসকিউএল-এর জন্য এই সাধারণ কিছু আছে কিনা তা নিশ্চিত নন।


7

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


7

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

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


7

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

ওয়েব থেকে:

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

http://www.allroundautomations.com/plsvcs.html


7

ইআর স্টুডিও আপনাকে আপনার ডাটাবেস স্কিমাটিকে সরঞ্জামে বিপরীত করতে দেয় এবং তারপরে আপনি এটি লাইভ ডাটাবেসের সাথে তুলনা করতে পারেন।

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

একবার আপনার ইআর স্টুডিওতে স্কিমা হয়ে গেলে আপনি তৈরি স্ক্রিপ্টটি সংরক্ষণ করতে পারেন বা এটি মালিকানাধারী বাইনারি হিসাবে সংরক্ষণ করতে পারেন এবং এটি সংস্করণ নিয়ন্ত্রণে সংরক্ষণ করতে পারেন। আপনি যদি কখনও এই স্কিমের অতীত সংস্করণে ফিরে যেতে চান তবে কেবল এটি পরীক্ষা করে দেখুন এবং এটি আপনার ডিবি প্ল্যাটফর্মে ধাক্কা দিন।


6

রুকুসিং নামে একটি পিএইচপি 5 "ডাটাবেস স্থানান্তর কাঠামো" রয়েছে। আমি এটি ব্যবহার করি নি, তবে উদাহরণগুলি ধারণাটি দেখায়, আপনি যদি ভাষাটি প্রয়োজন হিসাবে যখন ডেটাবেস তৈরি করতে ব্যবহার করেন তবে আপনাকে কেবল উত্স ফাইলগুলি ট্র্যাক করতে হবে।


4

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


3

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

এটি বলা ঠিক যে এটি একটি সংস্করণ 1.0 পণ্য, যদিও, এবং এটি কয়েকটি সমস্যা ছাড়াই নয়।


3

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

http://www.red-gate.com/Products/schema_compare_for_oracle/index.htm


2

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


2

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

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


1

দুটি বইয়ের সুপারিশ: অ্যাম্বুলার এবং সাদালাগের "রিফ্যাক্টরিং ডেটাবেসগুলি" এবং এম্বুলারের "অ্যাগ্রিল ডাটাবেস কৌশল"।

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

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