Güncellenecek alanların hiçbirinin serileştirilmediğinden eminseniz, yukarıdaki çözümler iyi çalışır.
Ancak, güncellenmesi gereken alanlardan herhangi biri serileştirilmiş veriler içeriyorsa, bir SQL Sorgusu veya bir döküm dosyasında basit bir arama / değiştirme, serileştirmeyi keser (değiştirilen dize, aranan dize ile aynı sayıda karaktere sahip değilse).
Emin olmak için, "serileştirilmiş" alan şöyle görünür:
a:1:{s:13:"administrator";b:1;}
İlgili verilerdeki karakter sayısı, verilerin bir parçası olarak kodlanır.
Serileştirme, "nesneleri" veritabanında kolayca saklanan bir biçime dönüştürmenin veya nesne verilerini farklı diller arasında kolayca taşımanın bir yoludur. Nesne verilerini serileştirmek için kullanılan farklı yöntemlerin
açıklaması ve neden bunu yapmak isteyebilirsiniz ve burada WordPress merkezli bir gönderi var: Seri Veri, Bu Ne Anlama Geliyor Ve Neden Bu Kadar Önemli? düz dilde.
MySQL, serileştirilmiş verileri otomatik olarak işlemek için bazı yerleşik araçlara sahip olsaydı şaşırtıcı olurdu, ancak bunu yapmaz ve farklı serileştirme formatları olduğundan, bunun için bir anlam ifade etmez.
wp-cli
Yukarıdaki yanıtlardan bazıları, verilerinin çoğunu serileştiren WordPress veritabanlarına özgü görünüyordu. WordPress bir komut satırı aracı sunar, arama-değiştirme wp ki yapar sap seri.
Temel bir komut:
wp search-replace 'an-old-string' 'a-new-string' --dry-run
Ancak, WordPress guid
asla değiştirilmemesi gerektiğini vurgular , bu nedenle bu sütunun atlanmasını önerir.
Ayrıca, çoğu zaman wp_users
masayı atlamak isteyeceğinizi de önerir .
İşte böyle görünecektir:
wp search-replace 'https://old-domain.com' 'https://shiney-new-domain.com' --skip-columns=guid --skip-tables=wp_users --dry-run
Not: --dry-run
Bayrağı ekledim, böylece bir kopyala yapıştır otomatik olarak kimsenin veritabanını bozmaz. Komut dosyasının istediğinizi yaptığından emin olduktan sonra, o bayrak olmadan tekrar çalıştırın.
Eklentiler
WordPress kullanıyorsanız, birçok ek özellik ile paketlenmiş bir gui arayüzü sunan birçok ücretsiz ve ticari eklenti de vardır.
Interconnect / bu php betiği
Interconnect / serileştirilmiş verileri işlemek için bir php betiği sunar: Güvenli Arama ve Değiştirme aracı. WordPress sitelerinde kullanılmak üzere oluşturuldu, ancak PHP tarafından serileştirilmiş herhangi bir veritabanında kullanılabileceği anlaşılıyor.
WordPress de dahil olmak üzere birçok şirket bu aracı önerir. Burada talimatlar , yaklaşık 3/4 sayfa aşağı.