Mass Find & Replace WordPress datu bāzes - vienkāršs veids
Ir vairāki gadījumi, kad mums tas ir jādara mainīt vietrāžu URL vietnes datu bāzē. Piemēram, mums tas jādara pēc tam, kad migrējām WordPress datubāzi no vienas vietnes, piem. no http://acme.com
attālo ražošanas vietu, uz http://acme.dev
vietējā attīstības tīmekļa vietne mūsu datorā.
WordPress.org rīko daudzus spraudņus, piemēram, WP DBManager un WP migrēt DB, un ir arī vairāki trešās puses rīki, kas ļauj jums importa datu bāze viegli. Grūts elements ir mainīt katru URL gadījumu datu bāzē.
Pēc datu bāzes migrēšanas tā iekšpusē esošie URL joprojām norāda uz veco vietni, šajā gadījumā acme.com
. Jūs varat atrast veco URL wp_options
tabulu, kas iestatīta kā siteurl
un mājas
opcijas, un tas, iespējams, ir iestrādāts arī vairākās citās rindās un tabulās datubāzē. Šie vecie URL var liegt jūsu vietnei darboties pareizi, tāpēc jums ir nepieciešams mainīt tos uz jauno URL, mūsu piemērā acme.dev
.
Šajā brīdī, piekļūstiet mūsu attīstības vietnei acme.dev
vienkārši novedīs uz tukšu lapu.
Tātad, kā mēs mainām visus šos datubāzes URL?
SQL vaicājuma izpilde
Parasti cilvēki vada šādu SQL vaicājumu, kas aizvieto siteurl
un mājas
iespējas wp_options
tabula.
UPDATE wp_options SET option_value = aizstāt (option_value, 'http://acme.com', 'http://acme.dev') WHERE opcija_name = 'mājas' VAI opcija_name = 'siteurl';
Pēc tam viņi izmanto citu SQL vaicājumu, lai aizstātu visus URL notikumus wp_posts
tabulā, proti, post_content
katrā rindā.
UPDATE wp_posts SET post_content = aizvietot (post_content, 'http://acme.com', 'http://acme.dev');
Šo vaicājumu izpilde ir praktisks risinājums, tomēr tajā pašā laikā tas nav ērts. Tas varētu būt pat nervu izliekums, redzot, kā datu bāze var pārvērst slēdžus vienkāršas pārraudzības dēļ vaicājumā.
WP-CLI izmantošana
Vēl viens ceļš, ko mēs varam darīt un ko es esmu atradis par ērtāku alternatīvu, ir izmantojot WP-CLI komandrindu. Tas nozīmē, ka jums būs nepieciešams instalēt WP-CLI.
Pieņemot, ka esat instalējis WP-CLI un ir wp
komandu, kas pieejama kā aizstājvārdu, dodieties uz direktoriju, kurā atrodas jūsu WordPress vietnes faili.
Pēc tam izpildiet šādu komandu:
wp meklēt-aizstāt “http://acme.com” http://acme.dev
Pirmais parametrs, 'http://acme.com'
, vai vecais ieraksts ir jāaizstāj ar otro, 'http://acme.dev'
.
Komandrinda meklēs visas datubāzes tabulas, ne tikai post_content
sleja un wp_options
tabulu un aizstāt katru gadījumu ieraksta parametri.
Kā redzams no iepriekš redzamās ekrānuzņēmuma, ir veikti 225 aizvietotāji. Un mēs to esam darījuši, izmantojot vienkāršu komandu.
Es domāju, ka ir vērts pieminēt, ka mēs varam izmantot wp meklēt-aizstāt
komandu, ne tikai URL nomaiņai, bet jebkuram gabalam vērtību datu bāzē. Mēs varam arī ierobežot darbību noteiktā tabulā, nododot tabulas nosaukumu kā ceturto parametru:
wp search-aizstāt '.jpg ".webp' wp_posts
Izpildot iepriekš minēto komandu, tā meklēs tikai wp_posts
, tabulu, kurā glabājas mūsu saturs - ziņas, lapas utt., un nomainiet attēla paplašinājumu no .jpg
uz .webp
.
WP-CLI padara tangled SQL darbību izskatās intuitīvāka, un jūs varat strādāt ar to ērtāk. Ja vēlaties precizēt savas komandas, apskatiet WP-CLI dokumentāciju, kas sniedz jums sarakstu ar iespējām veikt uzlabotas darbības ar wp meklēt-aizstāt
komandu.