Məzmuna keç
Alətlər

SQL Axtar və Əvəz Et

Serializasiya edilmiş məlumatları korlamadan sayt URL-nizi dəyişin

Brauzerinizdə işləyir. Heç nə yüklənmir.

Dəyişiklik

Nəyisə işə salmadan əvvəl bunu oxuyun

WordPress bir çox seçimi PHP-serialized sətirlər kimi saxlayır və serializasiya edilmiş sətir öz bayt uzunluğunu qeyd edir — s:19:"http://old-site.com". Adi bir SQL əvəzləmə mətni dəyişir, lakin uzunluğu dəyişmir, ona görə də PHP artıq həmin sətri deserializasiya edə bilmir. Xəta baş vermir. Dəyər sadəcə səssizcə boş qalır.

İtirdikləriniz: vidcet konfiqurasiyası, tema modifikasiyaları və plugin parametrlərinin əksəriyyəti. Adətən bunu günlər sonra fərq edirsiniz və o vaxta qədər bərpa edə biləcəyiniz ehtiyat nüsxə də artıq yox olur.

Məhz buna görə aşağıdakı sorğular wp_options cədvəlinə qəsdən toxunmur.

Nəyi köçürürsünüz?
search-replace.sql

Əvvəlcə verilənlər bazasının ehtiyat surətini çıxarın. "Çıxarmağı düşünün" yox — çıxarın. UPDATE əməliyyatının geri qaytarılması yoxdur.

SQL Axtar və Əvəz Et haqqında

WordPress verilənlər bazasında sadəlövh SQL axtar-və-əvəz et əməliyyatı toxunduğu hər serializasiya edilmiş seçimi sındırır, çünki saxlanılan sətir uzunluğu artıq uyğun gəlmir. Bu, təhlükəsiz sorğuları yaradır və dəqiq olaraq hansıların təhlükəsiz olmadığını izah edir.

Tez-tez verilən suallar

Suallar

SQL tap və əvəz et ilə WordPress sayt URL-imi dəyişə bilərəm?

Təhlükəsiz şəkildə yox və bu, WordPress-də ən çox paylaşılan pis məsləhətdir. Bir çox seçim PHP ilə serializasiya olunmuş sətirlər kimi saxlanılır ki, onlar öz bayt uzunluğunu qeyd edir. Adi SQL əvəzləməsi mətni dəyişir, uzunluğu isə yox, buna görə PHP sətri deserializasiya edə bilmir və dəyər sadəcə yoxa çıxır — vidjet parametrləri, mövzu dəyişiklikləri və plagin konfiqurasiyasını da özü ilə aparır.

Bunun əvəzinə nə istifadə etməliyəm?

WP-CLI: əvvəlcə 'wp search-replace old new --all-tables --dry-run', sonra --dry-run olmadan. O, serializasiyanı başa düşür və uzunluq prefikslərini düzgün yenidən yazır. CLI girişiniz yoxdursa, Better Search Replace plagini eyni şeyi admin panelindən edir.

GUID sütununu yeniləməliyəm?

Xeyr. GUID yazının daimi unikal identifikatorudur, link deyil və lent oxucuları ona görə açar alır. Onu yenidən yazmaq hər abunəçinin hər köhnə yazını yepyeni kimi görməsinə səbəb olur. WordPress sənədləri onu dəyişməməyi açıq şəkildə deyir.