วิธีการปรับใช้การเปลี่ยนแปลง DB จาก dev เป็น Production ใน Magento


9

ฉันทราบว่าโมดูลมีการติดตั้งและสคริปต์การตั้งค่าข้อมูลเพื่อให้ DB แบบพกพาจาก dev ไปยังการผลิต

แต่ในกรณีของเราเรามีนักพัฒนา UI ที่เพิ่มคุณสมบัติและผลิตภัณฑ์ผ่านอินเทอร์เฟซผู้ดูแลระบบซึ่งได้รับการจัดเก็บไว้ในฐานข้อมูลการพัฒนา

ในวันวางจำหน่ายเราไม่สามารถทำซ้ำทุกขั้นตอนที่เราทำในสภาพแวดล้อมการพัฒนาเนื่องจากมันจะน่าเบื่อและเสียเวลา

มีวิธีจัดการกับการเปลี่ยนแปลงฐานข้อมูลดังกล่าวเมื่อทำการปรับใช้หรือไม่

สำหรับตอนนี้เรากำลังแสดงความแตกต่างระหว่าง dev DB และ prod DB และสร้าง SQL ที่ได้รับการรันในวันที่ปล่อย แต่สิ่งนี้เป็นอันตรายเล็กน้อยเนื่องจาก dev DB อาจมีข้อมูลการทำธุรกรรมทดสอบและเราสามารถสิ้นสุดการล็อคตารางธุรกรรมในการผลิตถ้า SQL ของเรามีคำสั่งใด ๆ ที่ปรับเปลี่ยนตารางธุรกรรม

มีวิธีปฏิบัติที่ดีที่สุดในเรื่องนี้หรือไม่? ขอบคุณสำหรับความช่วยเหลือล่วงหน้า

คำตอบ:


8

มีส่วนขยายที่แตกต่างกันสำหรับการย้ายข้อมูลระหว่างสภาพแวดล้อม แต่การใช้พวกมันกำลังถ่ายภาพตัวคุณเอง แน่นอนคุณไม่ต้องการที่จะสกรูสภาพแวดล้อมการผลิตของคุณถ้ามีอะไรผิดพลาด

วิธีที่ถูกต้องในการโยกย้ายข้อมูลคือการใช้สคริปต์การตั้งค่า

นอกจากนี้มันจะช่วยให้การตั้งค่าสภาพแวดล้อมใหม่ (เช่นสำหรับปลาใหม่ในทีมของคุณ) ซึ่งจะทันสมัยกับสถานะปัจจุบันของสิ่งต่าง ๆ

คำถามที่ดีโดยวิธีการ


ฉันได้พบเป็นการส่วนตัวว่าโมดูลบางตัวจาก Magento Connect ไม่สามารถทำงานร่วมกันได้อย่างสมบูรณ์ในแง่ของการเรียกใช้สคริปต์การตั้งค่าตั้งแต่เริ่มต้น ฉันยังต้องทำงานให้แน่ชัดว่าเกิดอะไรขึ้น แต่การตั้งค่าร้านค้าของเราอยู่ในสถานะที่เริ่มต้นจากฐานข้อมูลเปล่าสคริปต์การติดตั้งขัดแย้งกันและร้านค้าไม่สามารถบูตฐานข้อมูลเปล่าได้ เพื่อที่จะเริ่มต้นจากศูนย์อีกครั้งเราจะต้องใช้โมดูลในแต่ละครั้งตามลำดับ หรือแก้ไขข้อบกพร่องในซอฟต์แวร์ที่เราไม่ได้เขียน
nbering

คุณจะเปลี่ยนแปลงการเขียนสคริปต์ที่ทำจากแผงผู้ดูแลระบบ Magento ได้อย่างไร ตัวอย่างเช่น: เพิ่มคุณสมบัติและผลิตภัณฑ์หรือเปลี่ยนการกำหนดค่าส่วนขยายบางส่วน
Andrea

1
@ Andrea คุณไม่ต้องทำการเปลี่ยนแปลงใด ๆ ในแผงผู้ดูแลระบบ Magento ทุกอย่างผ่านสคริปต์การตั้งค่า แน่นอนในบางโอกาสหากคุณต้องการลองสิ่งที่คุณยังไม่แน่ใจในที่สุดคุณจะเปลี่ยนบางสิ่งใน admin แต่ในกรณีนี้การเปลี่ยนแปลงเหล่านั้นจะต้องย้อนกลับและนำไปใช้อีกครั้งผ่านสคริปต์การตั้งค่า
user487772

ในฐานะที่เป็น FYI เราลงเอยด้วยการใช้สคริปต์การตั้งค่าสำหรับการเปลี่ยนแปลงส่วนใหญ่ โชคดีที่นักพัฒนา UI ของเราไม่สนใจที่จะทำสคริปต์ตั้งค่าเมื่อเขาได้รับมัน คุณยังสามารถสร้างตั๋วสำหรับการสร้างสคริปต์การตั้งค่าใหม่และกำหนดให้กับนักพัฒนาของคุณ นอกจากนี้เรายังมีทีมการตลาดที่ใช้คุณสมบัติ CMS ของ magento แทนที่จะทำการเปลี่ยนแปลงเหล่านี้ในสภาพแวดล้อม dev เราขอให้พวกเขาทำการเปลี่ยนแปลงเหล่านี้ในการผลิตโดยตรง เราได้เพิ่มบทบาท CMS ซึ่งจะทำให้พวกเขาเข้าถึงคุณลักษณะ CMS เท่านั้น จากนั้นเราจะเผยแพร่การเปลี่ยนแปลง CMS จาก Prod เป็น Stage และ QA และ Dev โดยใช้สคริปต์ที่กำหนดเอง
Jeetendra Pujari
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.