เราเขียนสคริปต์เพื่อจัดการ DB ทิ้งสำหรับการแตกแขนง อ่านบทความนี้
หลักการพื้นฐานคือมันจะอ่านlocal.xml
เพื่อดึงข้อมูลประจำตัวของฐานข้อมูลจากนั้นทิ้งข้อมูลบนพื้นฐานนั้น มันแยกการถ่ายโอนข้อมูลออกเป็นสองส่วนโครงสร้างเท่านั้นและจากนั้นข้อมูล แต่ที่สำคัญคือมันเพิ่มความเร็วของกระบวนการดัมพ์แบบเดิมโดยการข้ามข้อมูลที่ไม่จำเป็นออกไปและส่วนใหญ่จะป้องกันการล็อคตารางในระหว่างการดัมพ์ที่จะบล็อก / วางเว็บไซต์สดของคุณ
เมื่อคุณมี MySQL dump คุณสามารถเปลี่ยน URL ได้อย่างง่ายดายเพียงแค่ใช้ sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
จากนั้นรันการนำเข้า mysql ไปยังฐานข้อมูลใหม่ของคุณ
ดังนั้นหากไม่มีสคริปต์เวอร์ชันพื้นฐานที่ดีจะมีลักษณะเช่นนี้
mysqldump -hHostname -uUsername LiveDbname -p > db.sql
sed -i 's/www.mydomain.com/staging.mydomain.com/g' db.sql
mysql -hHostname -uUsername DevDbname -p < db.sql
ไม่มีเหตุผลเลยที่จะต้องลบไฟล์ local.xml หรือรันโปรแกรมติดตั้งอีกครั้งหากคุณเปลี่ยน URL ในฐานข้อมูลแบบนี้
กระบวนการทั้งหมดของการแตกแขนงได้รับการคุ้มครองอย่างดีของเราวีโอไอพี GIT คู่มือ นี่เป็นกระบวนการที่ดีสำหรับการสร้างสาขาการพัฒนา แต่จะย่อขนาดฐานข้อมูลสดด้วยส่วนต่างที่สำคัญ ดังนั้นการทดสอบจะไม่เหมือนกับในเว็บไซต์จริง
ดังนั้นเมื่อทำการดัมพ์ vanilla DB, sed แทนที่, การอิมพอร์ต DB นั้นเพียงพอสำหรับไซต์ staging และจะสะท้อน / จับคู่ไซต์สดให้ใกล้เคียงที่สุด
ในแง่ของการป้องกันการสื่อสารกับลูกค้า - เราไม่เคยพบว่ามีความจำเป็นเนื่องจากเราสร้างบัญชีโดยเจตนาสำหรับการทดสอบเสมอไม่ใช้คำสั่งซื้อของลูกค้าจริงสำหรับการทดสอบ