Saat ini saya menggunakan skrip dump dan melakukan database ke git repo.
--skip-extended-insert --skip-comments --skip-dump-date
berarti bahwa diff dapat memberi saya ide yang adil tentang apa yang telah berubah, tetapi semuanya jatuh jika saya mencoba untuk bergabung.
WP_SITEURL, WP_HOME dan semua tempat lain wordpress menyimpan URL lengkap perlu diperbarui saat mengimpor ke host lain (pengujian, pementasan, produksi)
Adakah yang menggunakan metode yang lebih baik?
Masalah utama:
- Wordpress menyimpan URL lengkap semua melalui basis data (non-portabel)
- Banyak catatan lain yang tidak relevan berubah
- nilai auto_increment (saya hanya menghapus ini, tetapi telah mengalami masalah ID)
- stempel waktu (juga dapat ditelanjangi, berpotensi)
- sementara * mencatat ... tidak tahu apa yang harus dilakukan dengan mereka
Sebuah proses yang menciptakan migrasi cap waktu, dengan hanya hal-hal yang ditambahkan atau dihapus, akan ideal ... tapi saya tidak yakin apakah itu mungkin?
database
migration
version-control
Jacob Dorman
sumber
sumber
Jawaban:
Berikut adalah dua solusi yang mungkin, keduanya sebenarnya adalah alat kontrol versi MySQL generik tetapi dapat disesuaikan dengan alur kerja Anda:
dbv.php
Alat ini menciptakan "migrasi", yang pada dasarnya adalah skrip SQL, dari perubahan yang terdeteksi pada database. Skrip-skrip ini disimpan dalam direktori lokal dan karenanya dapat dikomit ke VCS Anda saat ini (git, misalnya).
Ini digunakan melalui antarmuka web PHP.
DBVC
Pada dasarnya mirip dengan alat sebelumnya, ini didasarkan pada antarmuka baris perintah. Ini dikonfigurasi melalui file json. Perbedaan utamanya adalah tidak menghasilkan file migrasi secara otomatis.
Ada masalah yang tertunda untuk mengintegrasikan ini dengan yang sebelumnya serupa, jadi itu sesuatu yang harus dicari.
Plugin Wordpress
Beberapa plugin yang dapat membantu dalam menciptakan alur kerja yang berulang:
sumber
Saya melakukan ini di MYSQL.
Ini menempatkan semua skema tabel dan data ke file mereka sendiri sehingga saya dapat dengan mudah melihat apa yang telah berubah.
Tidak seperti kebanyakan solusi lain di utas ini, solusi ini mendapatkan data, yang penting untuk CMS.
Solusi ini tidak menggunakan alat apa pun, hanya skrip baris perintah.
sunting: Saya menemukan kode lama saya memiliki bug di mana urutan impor penting. melepas
--compact
bendera memperbaiki bug.Kode yang lebih lama
dan di sini adalah cara mengimpor
sumber