Saya sedang bekerja untuk meningkatkan alur kerja git saya sebagaimana berlaku untuk proyek pengembangan WordPress saya. Seringkali, ketika mengembangkan sistem manajemen konten, saya akan membuat server pengembangan (seperti http://dev.finalsitename.com
) yang berisi jenis pos kustom dan taksonomi yang akan digunakan dalam versi produksi. Ini memungkinkan klien saya untuk mulai menambahkan konten mereka ke situs.
Sementara mereka mengerjakan tugas ini, saya biasanya membangun tampilan dan nuansa serta pemrograman / plugin kustom yang akan digunakan pada lingkungan localhost saya. Untuk memastikan bahwa saya tidak menimpa pembaruan mereka, saya biasanya menarik salinan database mereka dan mengganti milik saya. Namun, ada kalanya saya hanya perlu melompat ke area admin WP dan mengubah pengaturan atau sesuatu yang kecil ...
Jika ada beberapa pengembang yang mengerjakan proyek WordPress, kita masing-masing melakukan dump database (timestamped) versi situs kami dan memasukkannya ke dalam direktori root sebelum melakukan dan mendorong cabang lokal mereka kembali ke repositori jarak jauh. Masalah dengan pendekatan ini adalah bahwa database sering kali tidak sinkron tanpa cara yang mudah untuk menentukan mana yang akan digunakan.
Apa yang dilakukan pengembang lain untuk menjaga sinkronisasi basis data mereka sementara masih memungkinkan banyak pengembang (dan klien / produsen konten) untuk bekerja pada proyek yang sama?
sumber
Saya minta maaf jika ini tampak sangat jelas tetapi jika Anda semua perlu memiliki salinan yang sama dari database dengan struktur yang sama, tidakkah masuk akal untuk memiliki kantor / pusat SQL server dan menggunakannya? Kloning secara lokal jika Anda perlu bereksperimen tetapi tetap sebagai standar defacto otoritatif dan mengambil cadangan dari server itu dan hanya server itu.
Kalau tidak, ketika saya sedang mengerjakan proyek grup kami memiliki setup sendiri dengan konten yang berbeda. Kode menangani pembaruan dan migrasi struktur tabel dan kita dapat mengakses instalasi kode lain yang berjalan satu sama lain di mesin kami melalui LAN, jadi tidak perlu bagi kami untuk berbagi konten.
Jika kita memasukkan konten, kita menjalankannya pada server uji yang kemudian dapat kita ekspor dan impor ke server langsung, atau kita dapat bermigrasi langsung ke server produksi jika tidak ada instance live saat ini ada.
Jika suatu saat Anda membutuhkan pemisahan data uji hidup dan WIP, maka cukup gunakan cabang langsung, uji, dan pengembangan dalam repositori Anda
sumber