Bagaimana saya bisa membuat pembaruan ke situs, pada salinan pengembangan, tetapi kemudian memindahkan pembaruan kembali tanpa mengesampingkan basis data situs langsung yang berkembang?

20

Saya telah mencoba untuk menjadi deskriptif dalam judul mungkin, dan saya tahu pertanyaan ini telah ditanyakan sebelumnya dalam berbagai bentuk tetapi saya tidak dapat menemukan jawaban yang baik untuk itu dan membayangkan bahwa tidak ada yang memecahkan masalah ini.

Ini sederhana, sekali situs WP aktif, jika bukan yang statis maka terus memperbarui basis datanya dengan menambahkan posting baru, pesanan woocommerce baru, akun pengguna baru, dll. '

Jika saya ingin membuat beberapa perubahan besar dan pembaruan ke situs, cara termudah dan termudah untuk melakukan ini adalah dengan membuat salinan baik untuk instalasi lokal atau ke domain pengembangan lain, dan membuat semua perubahan di sana. Setelah semua perubahan selesai saya ingin menyalinnya kembali ke situs langsung.

Jika perubahan hanya untuk file, seperti tema dan css, itu agak mudah. Namun, jika perubahan melibatkan perubahan dalam database, seperti menambahkan plugins baru dan menambahkan konten yang menghubungkan / berhubungan dengan plugins ini, maka saya tidak lagi dapat menyalin situs kembali, karena itu akan menimpa setiap perubahan baru yang ditambahkan ke live basis data situs. semua posting baru, pesanan baru, unggahan gambar baru, semuanya akan dihapus.

Sekarang saya tahu bahwa skenario yang berbeda memiliki solusi yang berbeda, tetapi tidak adakah metode yang menangani semua kasus?

Misalnya, jika satu-satunya perubahan yang dibuat ke situs langsung adalah posting baru, maka saya dapat mengekspor dan mengimpor posting ke situs dev dan kemudian memindahkan seluruh situs. Sama dengan beberapa item lain, tetapi tidak setiap jenis item. Dan masalah lain dengan ini adalah bahwa fungsi ekspor dan impor di wordpress buruk. Ini sangat sederhana dan Anda memiliki sedikit pilihan untuk memilih dan hanya mengekspor barang tertentu. Saya mungkin telah mencoba setiap plugin "impor / ekspor lanjutan" di luar sana dan belum ada yang menyelesaikan masalah ini.

Jadi di utas lain, seseorang menunjukkan plugin ini pada dasarnya untuk menginstal dan bekerja pada tema di situs langsung, sementara pengguna biasa masih melihat tema yang ada, tetapi itu masih tidak menyelesaikan semua jenis perubahan. karena jika Anda ingin membuat perubahan pada konten, misalkan menu footer atau nav, itu adalah hal-hal yang masih akan tercermin dalam tema / situs yang dapat dilihat dan mungkin terlihat ok pada tema pengujian yang baru tetapi bukan yang langsung.

Apakah tidak ada cara untuk mengembangkan "cabang" dari situs di situs / database yang sama dan kemudian beralih? atau apakah tidak ada cara untuk mengembangkan di situs pengembang tetapi kemudian benar-benar menggabungkan basis data dengan cara yang tidak merusak? Jika Anda tahu komponen dan hal-hal yang Anda pengaruhi, bukankah akan ada cara untuk melakukannya? atau apakah Anda perlu menjadi master MySQL untuk mencoba hal seperti itu.

Saya tidak bisa menjadi satu-satunya yang memiliki teka-teki ini. Saya tidak bisa membayangkan tidak ada solusi untuk masalah ini. Bagaimana ini bisa dilakukan?

Terima kasih sebelumnya.

James
sumber
3
Setiap orang memiliki masalah ini dan tidak ada solusi sederhana, simpan kode dalam kontrol revisi, buang sql sesering mungkin ke server staging, buat penguncian pemeliharaan selama migrasi (5-10 menit).
Wyck
Saya tidak setuju. Plugin RAMP CrowdFavorite adalah solusi sederhana bagi mereka yang memang perlu membuat panggung dan menggunakan konten. Menyebutnya sebagai "solusi sederhana" mungkin sulit, tetapi itu bagus dan pengembang mana pun harus dapat mengaturnya (memerlukan SSH dan akses MySQL jarak jauh dll.)
jb510
Adakah yang sudah mencoba sitepush ? Saya tidak keberatan membayar $ 250 untuk Ramp jika itu adalah solusi yang lebih baik tetapi sulit untuk melihat dari luar seberapa baik sistem ini bekerja tanpa penyebaran penuh dan pengujian saya kira.
James
Belum menggunakan sitepush. Kedengarannya seperti itu mendorong DB lengkap (seperti Migrasi WP DB Pro). Ini bagus untuk menyebarkan situs statis, tetapi gagal pada dinamika langsung (mis. Posting / komentar baru terjadi). RAMP sebenarnya mengelola perbedaan antara DB dan penggabungan, bukan menggantikan DB langsung.
jb510
Anda mungkin ingin menggunakan DBV PHP , proyek sumber terbuka, menempatkan DB Anda di bawah kontrol versi. Bahkan memiliki UI untuk memudahkan manajemen. Pilihan lain adalah beralih ke misalnya Laravel, yang memiliki alat migrasi yang dibangun ke dalam aplikasi CLI-nya.
kaiser

Jawaban:

2

Benar-benar tidak ada cara mudah untuk melakukan apa yang ingin Anda lakukan, tetapi apa yang akan saya lakukan adalah membuat snapshot dari situs Anda, menerapkan perubahan yoru dan jika ada rem mengembalikan dan coba lagi. Mungkin turun selama satu jam, tetapi saya baru-baru ini melakukan ini ketika saya entah bagaimana membuat situs yang sedang saya kerjakan. Ini mungkin bukan cara yang "benar" untuk menyelesaikan masalah, tetapi bagi saya itu berhasil. Semoga berhasil.

pengguna57081
sumber
Bagaimana mungkin tim WP tidak memikirkan cara profesional untuk melakukan ini? ini tahun 2018 !!
asael2