11
คุณควรสร้างฐานข้อมูลจากการควบคุมแหล่งที่มาอย่างไร
มีการอภิปรายเกี่ยวกับวิกิชุมชน SO ว่าควรจะควบคุมเวอร์ชันของวัตถุฐานข้อมูลหรือไม่ อย่างไรก็ตามฉันยังไม่เห็นการอภิปรายเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดในการสร้างกระบวนการสร้างอัตโนมัติสำหรับวัตถุฐานข้อมูล นี่เป็นประเด็นถกเถียงสำหรับทีมของฉันโดยเฉพาะอย่างยิ่งเนื่องจากนักพัฒนาและ DBA มักมีเป้าหมายแนวทางและข้อกังวลที่แตกต่างกันเมื่อประเมินประโยชน์และความเสี่ยงของแนวทางอัตโนมัติในการปรับใช้ฐานข้อมูล ฉันต้องการรับฟังความคิดเห็นจากชุมชน SO เกี่ยวกับแนวทางปฏิบัติที่ได้ผลในโลกแห่งความเป็นจริง ฉันตระหนักดีว่าการปฏิบัตินั้นค่อนข้างเป็นอัตวิสัยที่ดีที่สุด แต่ฉันคิดว่าบทสนทนาที่ดีเกี่ยวกับงานที่อาจเป็นประโยชน์กับคนจำนวนมาก นี่คือคำถามทีเซอร์บางส่วนของฉันเกี่ยวกับประเด็นที่น่ากังวลในหัวข้อนี้ สิ่งเหล่านี้ไม่ได้หมายถึงรายการที่ชัดเจน แต่เป็นจุดเริ่มต้นสำหรับผู้คนที่จะช่วยให้เข้าใจสิ่งที่ฉันกำลังมองหา ควรสร้างทั้งสภาพแวดล้อมการทดสอบและการผลิตจากการควบคุมแหล่งที่มาหรือไม่ ทั้งสองควรสร้างขึ้นโดยใช้ระบบอัตโนมัติ - หรือควรผลิตโดยสร้างโดยการคัดลอกวัตถุจากสภาพแวดล้อมการทดสอบที่เสถียรและสรุปแล้ว? คุณจัดการกับความแตกต่างที่อาจเกิดขึ้นระหว่างสภาพแวดล้อมการทดสอบและการใช้งานจริงในสคริปต์การปรับใช้อย่างไร คุณจะทดสอบได้อย่างไรว่าสคริปต์การปรับใช้จะทำงานได้อย่างมีประสิทธิภาพเมื่อเทียบกับการใช้งานจริงเช่นเดียวกับที่ทำในการทดสอบ ชนิดของวัตถุที่ควรควบคุมเวอร์ชัน? เพียงแค่รหัส (โพรซีเดอร์แพ็คเกจทริกเกอร์ java ฯลฯ )? ดัชนี? ข้อ จำกัด ? นิยามตาราง? สคริปต์เปลี่ยนตาราง? (เช่นแก้ไขสคริปต์) ทุกอย่าง? ออบเจ็กต์ประเภทใดที่ไม่ควรควบคุมเวอร์ชัน ลำดับ? เงินช่วยเหลือ? บัญชีผู้ใช้? ควรจัดระเบียบวัตถุฐานข้อมูลในที่เก็บ SCM ของคุณอย่างไร คุณจัดการกับสิ่งที่เกิดขึ้นเพียงครั้งเดียวเช่นสคริปต์การแปลงหรือแก้ไขสคริปต์อย่างไร คุณจัดการกับการเลิกใช้วัตถุจากฐานข้อมูลอย่างไร? ใครควรรับผิดชอบส่งเสริมวัตถุตั้งแต่ระดับการพัฒนาจนถึงระดับทดสอบ? คุณประสานการเปลี่ยนแปลงจากนักพัฒนาหลายคนได้อย่างไร? คุณจัดการกับการแยกย่อยสำหรับอ็อบเจ็กต์ฐานข้อมูลที่ระบบหลายระบบใช้อย่างไร มีข้อยกเว้นใดบ้างที่สมเหตุสมผลกับกระบวนการนี้ ปัญหาด้านความปลอดภัย? ข้อมูลที่มีข้อกังวลเกี่ยวกับการยกเลิกการระบุตัวตน? …