SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

WordPressの本番環境から開発環境にデータを持ってくるとき(もしくはその逆)

問題

本番環境のWordPressのデータを開発環境に持ってくると、設定やURLや画像のパスなどが本番URLのままで、そのまま使えない。(ドメイン変更、ディレクトリ変更などの移転の場合も)

いい手はないか。

wordpress

答え

mysqldumpでMySQLのデータを取得すると、wp_posts や wp_options の中の値が本番環境用になっているので、置換が必要。

本番URLなど → 開発環境URLなど

Linuxでは、sedコマンドでテキストの置換ができるので、これを使うとmysqldumpのついでに置換までできる。

mysqldump -u 接続ユーザー -p データベース名 | sed -e "s/本番URL/開発URL/g" > ダンプファイル

例)本番環境だとwww.example.comの一番上の階層に設置してあるけど、開発環境だと192.0.2.123のxxxx/yyyy/zzzzの下に置いてある場合

mysqldump -u user_hoge -p db_fuga | sed -e "s/www.example.com/192.0.2.123\/xxxx\/yyyy\/zzzz/g" > ダンプファイル

上の置換を逆にすれば、開発環境から本番環境にデータを持っていくときにも使える。

ダンプをとってしまった後なら、ダンプファイルを引数に渡して置換。

sed -e 's/xxx/XXX/g' ./example.txt > ./example-new.txt

関連するメモ

コメント