Mājas lapa » WordPress » Mass Find & Replace WordPress datu bāzes - vienkāršs veids

    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.

    IMAGE: Sequel Pro, datubāzes vērtības meklēšana

    Š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ātkomandu.