Saya pada dasarnya mengadopsi dua aliran pemikiran di sini (pemikiran ketiga, mengerjakan perbedaan basis data, saya tidak akan membahas karena kompleksitasnya cukup tinggi).
1) Menyebarkan dengan menjatuhkan basis data produksi, dan mengimpor mysqldump dari database pengembangan. Secara opsional, jalankan regex find / replace terlebih dahulu pada tautan absolut apa pun yang dikodekan keras yang mereferensikan URL dev di dump SQL. Setelah mengimpor dev db ke dalam prod, secara otomatis menjalankan pernyataan SQL (biasanya melalui skrip) setelah itu untuk mengubah pengaturan yang berbeda untuk prod daripada dev (misalnya, mungkin Anda memiliki dalam tabel variabel beberapa pengaturan koneksi untuk menghubungkan ke sistem eksternal yang Anda perlu ubah ke titik pada prod sistem eksternal dan bukan pada versi dev).
2) Gunakan modul Fitur , sebagaimana disebutkan oleh budda, untuk pengaturan admin, dan gunakan modul Node Ekspor untuk ekspor / impor konten dalam kombinasi dengan modul Hapus Semua . Jadi alur kerjanya adalah:
- gunakan node_export dan fitur untuk mengekspor node / fitur ke file
- Opsional (dan semoga) kontrol versi
- Muat file pada sistem prod
- Gunakan antarmuka drush atau admin untuk memuat fitur
- Gunakan drush delete-all atau admin interface untuk menghapus semua node dari jenis yang ingin Anda impor
- Gunakan drush ne-import atau antarmuka admin untuk mengimpor node dari file node yang Anda ekspor.
Satu catatan, saya akan sangat menyarankan mengadopsi alur kerja standar, di mana konten berjalan satu arah saja. Entah Dev -> Prod atau Prod -> Dev (Saya lebih suka yang ini).
Saya telah melakukan ini, dan saya melakukan ini pada beberapa sistem besar, dengan hasil yang cukup baik, tetapi akan selalu ada banyak cara untuk mengiris apel ini, pilih cara mana yang paling cocok untuk Anda.