【VCCW】wp search-replace をちょっと楽にする 😀

DB置換がとっても楽ちんにできてありがたい wp search-replace。

wp search-replace | WordPress Developer Resources

例えばこんな感じ。

[code]
wp search-replace ‘(old)http://remote’ (new)’http://localhost’ –skip-columns=guid
[/code]

これで、ローカル環境にサクッと置換できる 😀
ただし、複数開発環境を置いている場合、search-replaceのoldとnewを入れるのがめんどくさいw

Movefile内の”vhost:”を使ってみる💡

vccwの場合、環境を作ると、Movefileがvccw直下にできます。(ありがたいっすねーー!! 😀)WordMoveを使う場合、このMovefileを編集するわけです。

movefileを編集後ってのが前提なんですが、このファイル内にある、”vhost:”部分の値を使ってsearch-replaceに当てはめればいちいちoldとnewを考えなくてしかも間違えないな…と思ったのでやってみた!!

grepテスト

↑↑ここでやってみたんだけど、とりあえず、Movefile内のvhost:の値が取れたので、search-replaceに入れてみた。

↑↑は、ローカルからリモートの置換。../Movefile部分は、Movefileまでのパスを!!
たいていは、../Movefileで行けるけど、/wp/など、コアを/wp/配下に置いた場合は、パスが変わるので注意!!
sed -n 1pは1行目、sed -n 2pは2行目が取れるので。
逆は、1pと2pを入れ替えればOK 💡

ただし、Movefile内にステージングとか複数環境を作っている場合は、適宜3pとか入れ替える必要あり

production, staging, test-1とか複数Movefile内に作っている場合は、1p, 2pの部分を適宜書き換えないとだけどね 😜

[code]
alias db_replace_remote_to_local="wp search-replace $(grep "vhost:" ../Movefile | sed -e s/vhost://g | tr -d ‘\"\ ‘ | sed -n 2p) $(grep "vhost:" ../Movefile | sed -e s/vhost://g | tr -d ‘\"\ ‘ | sed -n 1p)"
[/code]

とかやっておけば楽ちんかな。
これも、各プロジェクト毎にsearch-replace.shとか作っておけば間違えずに済むかもな。
よし、作っておこう!! 😁