Jika Anda yakin bahwa tidak ada bidang yang diperbarui adalah serial, solusi di atas akan berfungsi dengan baik.
Namun, jika salah satu bidang yang perlu diperbarui berisi data serial, SQL Query atau pencarian / penggantian sederhana pada file dump, akan memutus serialisasi (kecuali string yang diganti memiliki jumlah karakter yang persis sama dengan string yang dicari).
Yang pasti, bidang "serial" terlihat seperti ini:
a:1:{s:13:"administrator";b:1;}
Jumlah karakter dalam data yang relevan dikodekan sebagai bagian dari data.
Serialisasi adalah cara untuk mengubah "objek" ke dalam format yang mudah disimpan dalam database, atau untuk dengan mudah mengangkut data objek antara berbagai bahasa.
Berikut adalah penjelasan tentang berbagai metode yang digunakan untuk membuat serialisasi data objek, dan mengapa Anda mungkin ingin melakukannya, dan di sini ada posting WordPress-centric: Data Serialized, Apa Artinya Dan Mengapa begitu penting? dalam bahasa sederhana.
Akan luar biasa jika MySQL memiliki beberapa alat bawaan untuk menangani data serial secara otomatis, tetapi tidak, dan karena ada berbagai format serialisasi, bahkan tidak masuk akal untuk melakukannya.
wp-cli
Beberapa jawaban di atas tampak spesifik untuk database WordPress, yang membuat serialisasi banyak datanya. WordPress menawarkan alat baris perintah, WP mencari-ganti , yang tidak menangani serialisasi.
Perintah dasar adalah:
wp search-replace 'an-old-string' 'a-new-string' --dry-run
Namun, WordPress menekankan bahwa hal guid
itu tidak boleh diubah , jadi disarankan untuk melewatkan kolom itu.
Ini juga menunjukkan bahwa sering kali Anda ingin melewati wp_users
meja.
Ini akan terlihat seperti apa:
wp search-replace 'https://old-domain.com' 'https://shiney-new-domain.com' --skip-columns=guid --skip-tables=wp_users --dry-run
Catatan: Saya menambahkan --dry-run
flag sehingga copy-paste tidak akan secara otomatis merusak database siapa pun. Setelah Anda yakin skrip melakukan apa yang Anda inginkan, jalankan kembali tanpa bendera itu.
Plugin
Jika Anda menggunakan WordPress, ada juga banyak plugin gratis dan komersial yang menawarkan antarmuka gui untuk melakukan hal yang sama, dikemas dengan banyak fitur tambahan.
Interconnect / itu skrip php
Interconnect / itu menawarkan skrip php untuk menangani data serial: alat Safe Search and Replace . Itu dibuat untuk digunakan di situs WordPress, tetapi sepertinya itu dapat digunakan pada basis data apa pun yang diserialisasi oleh PHP.
Banyak perusahaan, termasuk WordPress sendiri, merekomendasikan alat ini. Instruksi di sini, sekitar 3/4 di halaman.