ฉันได้ลองทั้งโครงการฐานข้อมูลของ RedGate และ Visual Studio แล้วและฉันต้องการเก็บคำจำกัดความฐานข้อมูลไว้ในโครงการฐานข้อมูล ทันทีที่ฐานข้อมูลกลายเป็นส่วนหนึ่งของโซลูชันคุณสามารถใช้ผู้ให้บริการแหล่งข้อมูลที่คุณต้องการ ส่วนใหญ่มีการรวม Visual Studio ที่ยอดเยี่ยม
ด้วยเครื่องมือ SSDT คุณจะมีคำจำกัดความของฐานข้อมูล 'รุ่นล่าสุด' ช่วยให้คุณทำการเปรียบเทียบสกีมาและสร้างสคริปต์อัพเกรดสกีมาได้อย่างง่ายดาย
ที่กล่าวว่าสคีมักจะเป็นเพียงส่วนหนึ่งของการทำให้เท่ากัน ในชีวิตจริงปรากฎว่าฐานข้อมูลทั้งหมดมีข้อมูลจำนวนมาก และผู้ใช้ของฉันมักจะผิดหวังเมื่อพวกเขาหลุดมัน
ดังนั้นทันทีที่ฉันเปิดตัว v1.0 ความต้องการที่จำเป็นในการดูแลสคริปต์อัพเกรด บางครั้งสิ่งเหล่านี้มีการเปลี่ยนแปลงสคีมา แต่หลายครั้งที่ฉันต้องสร้างค่าเริ่มต้นตามเนื้อหาของตารางอื่น ๆ จำเป็นต้องปล่อยข้อ จำกัด เฉพาะจนกว่าฉันจะ seed ข้อมูลเป็นต้นโดยทั่วไปการอัปเกรดสคีมาจะไม่ตัดเลยทีเดียว การตั้งค่าของฉันคือการมีสคริปต์อัพเกรดเหล่านี้ในโฟลเดอร์แยกต่างหากในโครงการฐานข้อมูลด้วย โดยทั่วไปแล้วจะมีลักษณะเช่น 'อัพเกรดจาก v1.0 เป็น v1.1'
ฐานข้อมูลของฉันมีตารางอ้างอิงที่บอกหมายเลขเวอร์ชันปัจจุบันเสมอดังนั้นฉันสามารถบล็อกการอัพเกรดที่เข้ากันไม่ได้ คำสั่งแรกในสคริปต์อัพเกรดของฉันตรวจสอบเวอร์ชันปัจจุบันและประกันตัวถ้ามันแตกต่างจากที่คาดไว้
ประโยชน์อีกประการหนึ่งจากโครงการฐานข้อมูลคือการสามารถปรับใช้ชุดข้อมูลที่แตกต่างกันตามสคีมาเดียวกัน ฉันมีชุดข้อมูลที่แตกต่างกันสำหรับการพัฒนาทีม QA การทดสอบการยอมรับของผู้ใช้และสำหรับการทดสอบการรวมอัตโนมัติ เนื่องจากโครงการฐานข้อมูลสามารถมีสคริปต์หลังการปรับใช้เพียงหนึ่งเดียวเคล็ดลับที่นี่คือการสร้างโครงการฐานข้อมูลใหม่ที่อ้างอิงถึงโครงการ 'ต้นแบบ' และเพื่อให้ชุดข้อมูลที่กำหนดเองเป็นส่วนหนึ่งของกระบวนการปรับใช้การโพสต์ของโครงการนั้น
นี่คือ 2 เซ็นต์ของฉันไม่ว่าคุณจะทำอะไรขึ้นมาเหนือสิ่งอื่นใดมันจะต้องเหมาะสมกับคุณและทีมของคุณและหวังว่าจะสนับสนุนคุณในงานทั่วไปส่วนใหญ่