ฉันจะอัปเดตไปยังไซต์บนสำเนาการพัฒนา แต่จากนั้นย้ายการอัปเดตกลับโดยไม่แทนที่ฐานข้อมูลที่มีการพัฒนาของไซต์สดได้


20

ฉันพยายามที่จะอธิบายในชื่อเรื่องให้ได้มากที่สุดและฉันรู้ว่าคำถามนี้ถูกถามมาก่อนในรูปแบบต่าง ๆ แต่ฉันไม่สามารถหาคำตอบที่ดีได้และมันคือการจินตนาการว่าไม่มีใครแก้ปัญหานี้ได้

มันง่ายเมื่อไซต์ WP ใช้งานจริงถ้าไม่ใช่แบบคงที่มันจะทำการอัปเดตฐานข้อมูลโดยเพิ่มโพสต์ใหม่คำสั่งซื้อ woocommerce ใหม่บัญชีผู้ใช้ใหม่ ฯลฯ '

ถ้าฉันต้องการทำการเปลี่ยนแปลงที่สำคัญบางอย่างและอัปเดตในไซต์วิธีที่ง่ายที่สุดและง่ายที่สุดคือการคัดลอกไปยังการติดตั้งในท้องถิ่นหรือโดเมนการพัฒนาอื่นและทำการเปลี่ยนแปลงทั้งหมดที่นั่น เมื่อการเปลี่ยนแปลงทั้งหมดเสร็จสิ้นฉันต้องการคัดลอกกลับไปยังไซต์สด

หากการเปลี่ยนแปลงนั้นมีเฉพาะไฟล์เช่นชุดรูปแบบและ css นั่นค่อนข้างง่าย อย่างไรก็ตามหากการเปลี่ยนแปลงนั้นเกี่ยวข้องกับการเปลี่ยนแปลงในฐานข้อมูลเช่นการเพิ่มปลั๊กอินใหม่และการเพิ่มเนื้อหาที่เชื่อมต่อ / เกี่ยวข้องกับปลั๊กอินเหล่านี้ดังนั้นฉันจะไม่สามารถคัดลอกไซต์กลับมาได้อีกต่อไปเพราะจะเป็นการแทนที่การเปลี่ยนแปลงใหม่ ๆ ฐานข้อมูลของเว็บไซต์ โพสต์ใหม่ทั้งหมดคำสั่งซื้อใหม่การอัพโหลดรูปภาพใหม่ทั้งหมดจะถูกลบ

ตอนนี้ฉันรู้แล้วว่าสถานการณ์กรณีและปัญหาที่แตกต่างกันมีวิธีแก้ไขปัญหาที่แตกต่างกัน

ตัวอย่างเช่นหากการเปลี่ยนแปลงเพียงอย่างเดียวที่เกิดขึ้นกับไซต์สดคือโพสต์ใหม่ฉันสามารถส่งออกและนำเข้าโพสต์ไปยังไซต์ dev แล้วย้ายทั้งไซต์ไป เหมือนกันกับของอื่น ๆ แต่ไม่ใช่ของทุกอย่าง และปัญหาอื่น ๆ ของเรื่องนี้ก็คือฟังก์ชั่นการส่งออกและนำเข้าใน WordPress เป็นสุดซึ้ง มันเป็นพื้นฐานและคุณมีตัวเลือกน้อยมากในการเลือกและส่งออกเฉพาะรายการ ฉันอาจลองใช้ปลั๊กอิน "นำเข้า / ส่งออกขั้นสูง" ทุกครั้งที่มีอยู่และยังไม่มีวิธีแก้ไขปัญหานี้

ดังนั้นในเธรดอื่นบางคนชี้ให้เห็นปลั๊กอินนี้โดยทั่วไปจะติดตั้งและทำงานบนธีมบนไซต์สดในขณะที่ผู้ใช้ทั่วไปยังคงเห็นธีมที่มีอยู่ แต่ก็ยังไม่สามารถแก้ไขการเปลี่ยนแปลงได้ทุกประเภท เพราะถ้าคุณต้องการเปลี่ยนแปลงเนื้อหาสมมติว่าส่วนท้ายหรือเมนู nav มันเป็นสิ่งที่จะยังคงสะท้อนอยู่ในชุดรูปแบบ / ไซต์ที่สามารถดูได้ที่มีอยู่และอาจดูโอเคกับชุดทดสอบใหม่ แต่ไม่ใช่รายการสด

ไม่มีวิธีในการพัฒนา "สาขา" ของไซต์บนไซต์ / ฐานข้อมูลเดียวกันแล้วเปลี่ยนหรือไม่ หรือไม่มีวิธีการพัฒนาบนไซต์ dev แต่จริงๆแล้วรวมฐานข้อมูลในลักษณะที่ไม่ทำลาย? หากคุณรู้ว่าองค์ประกอบและสิ่งที่คุณได้รับผลกระทบจะมีวิธีการทำเช่นนั้นหรือไม่? หรือคุณจะต้องเป็นผู้เชี่ยวชาญ MySQL เพื่อลองสิ่งนั้น

ฉันไม่สามารถเป็นคนเดียวที่มีปริศนานี้ ฉันนึกภาพไม่ออกว่าไม่มีวิธีแก้ปัญหาสำหรับปัญหานี้ สิ่งนี้สามารถทำได้?

ขอบคุณล่วงหน้า.


3
ทุกคนมีปัญหานี้และไม่มีวิธีแก้ปัญหาง่าย ๆ ให้เก็บรหัสไว้ในการควบคุมการแก้ไขดัมพ์ sql บ่อยๆไปยังเซิร์ฟเวอร์ staging สร้าง lockouts บำรุงรักษาในระหว่างการย้ายข้อมูล (5-10 นาที)
Wyck

ฉันไม่เห็นด้วย ปลั๊กอิน RAMP ของ CrowdFavorite เป็นโซลูชันที่ง่ายสำหรับผู้ที่ต้องการจัดวางและปรับใช้เนื้อหา อาจเรียกได้ว่าเป็น "ทางออกที่ง่าย" แต่ก็ดีและนักพัฒนาก็ควรจะสามารถตั้งค่าได้ (ต้องใช้ SSH และการเข้าถึง MySQL จากระยะไกลเป็นต้น)
jb510

มีใครลองทำsite pushบ้างไหม? ฉันไม่รังเกียจที่จะจ่ายเงิน $ 250 สำหรับ Ramp ถ้ามันเป็นทางออกที่ดีกว่า แต่มันก็ยากที่จะเห็นจากภายนอกว่าระบบเหล่านี้ทำงานได้ดีเพียงใดโดยไม่ต้องมีการปรับใช้และทดสอบอย่างสมบูรณ์
James

ยังไม่ได้ใช้การพุชเว็บไซต์ ดูเหมือนว่าจะเป็นการผลัก DB ให้สมบูรณ์ (เช่น Migrate WP DB Pro) เป็นสิ่งที่ดีสำหรับการปรับใช้ไซต์แบบสแตติก แต่ล้มเหลวกับไลฟ์แบบไดนามิก (เช่นโพสต์ใหม่ / ความคิดเห็นที่เกิดขึ้น) RAMP จัดการความแตกต่างระหว่าง DBs และการผสานจริง ๆ แล้วไม่แทนที่ live DB
jb510

คุณอาจต้องการใช้DBV PHPซึ่งเป็นโครงการโอเพ่นซอร์สทำให้ DB ของคุณอยู่ภายใต้การควบคุมเวอร์ชัน มันยังมี UI เพื่อให้การจัดการง่ายขึ้น อีกตัวเลือกหนึ่งคือเปลี่ยนเป็นเช่น Laravel ซึ่งมีเครื่องมือย้ายข้อมูลที่ติดตั้งอยู่ในแอพ CLI
ไกเซอร์

คำตอบ:


2

จริงๆไม่มีวิธีง่ายๆในการทำสิ่งที่คุณต้องการทำ แต่สิ่งที่ฉันจะทำคือทำภาพรวมของเว็บไซต์ของคุณใช้การเปลี่ยนแปลง yoru และหากมีสิ่งใดเบรกคืนและลองอีกครั้ง อาจจะลงสักหนึ่งชั่วโมง แต่ฉันเพิ่งทำเมื่อไม่นานมานี้เมื่อฉันปิดกั้นเว็บไซต์ที่ฉันทำงานอยู่ นี่อาจไม่ใช่วิธีที่ "ถูกต้อง" ในการแก้ปัญหา แต่สำหรับฉันแล้วมันได้ผล โชคดี.


เป็นไปได้อย่างไรที่ทีม WP จะไม่คิดอย่างมืออาชีพในการทำสิ่งนี้ มันคือ 2018 !!
asael2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.