はい、みなさんこんにちは。いしかわでございます。今回は以下のようなレアな状況の対応についてです。
今回の状況
- 同僚の開発環境でどうやら不具合が出ているらしい
- 自分の環境では発生しない
- All in One WP Migration などでサイト全体のデータを貰いたいところだが、相手も開発環境なので全部エクスポート・インポートだと容量が巨大すぎてそのままコピーはいので手元で再現できない
というケースです。
プログラムのファイルとしては同じなのにAさんで発生するのにBさんで発生しない場合、データベースに保存されている何らかの設定状況の違いによって引き起こされている事が可能性として考えられるので、一旦データベースだけインポートします。
ちょっとした事なら VS Clode の LiveShare を使って同僚の環境で直接調査できるのですが、時間がかかりそうな場合は手元に環境作って対応した方がやりやすいので。
調査担当者の開発環境のデータベース情報のバックアップ
新規で検証環境を作ると、WordPressだけでなく関連プラグインもリポジトリをクローンしてビルドが必要だったり面倒なので、普段の開発環境にそのままインポートしたいと思います。しかし、現状のデータベースの情報を上書きすると後で困るので、現状のデータベースだけバックアップします。
開発環境が wp-env の場合
開発環境のディレクトリをターミナルで開いて
wp-env run cli wp db export もとの環境.sql
のように叩けばデータベースの情報を保存できます。
※勿論sqlのファイル名は適当に変更してください。
ちなみに、データベースをエクスポートする wp-cli のコマンドは wp db export 保存ファイル名
でいけるのですが、 wp-env で使う場合は、前に wp-env run cli
が必要なので、上記のようになります。
それ以外の環境の場合
wp-cli が使えれば wp db export ファイル名.sql
で保存できますが、よくわからない場合はプラグイン UpdraftPlus でデータベースをバックアップしておけばよいと思います。
ただし、データベース以外の余分なファイルをバックアップしないように設定を変更します。
バックアップ設定の変更
sql以外の余分なデータをエクスポートしないように、設定 > UpdraftPlus バックアップ の「設定」タブの、「バックアップに含めるファイル」のセクションでチェックを外して変更を保存します。
バックアップの実行
あとは、「バックアップ/復元」タブに戻って「今すぐバックアップ」ボタンでバックアップがとれます。
不具合の発生する環境のデータベース情報のエクスポート
開発環境が wp-env の場合
バックアップをとった場合と同じくコマンド叩いてエクスポート
wp-env run cli wp db export 不具合が発生する環境.sql
UpdraftPlusでエクスポートする場合
プラグイン UpdraftPlus を有効化して、データベース以外バックアップしないように設定を変更します。
バックアップファイルの取得
バックアップしたファイルは 以下の方法で取得できます。
- 設定 > UpdraftPlus バックアップ 画面の「バックアップ/復元」タブ内からダウンロード
- ローカル環境の wp-content/updraft 内から直接取得
不具合の発生する環境の sql データが落とせたら同僚などわかりそうな人に渡しましょう。
不具合の発生する環境のデータベース情報のインポート
開発環境が wp-env で sql データを直接貰った場合
一旦既存のDB情報をリセット(任意)
wp-env run cli wp db reset
不具合が発生する sql データをインポート
wp-env run cli wp db import 不具合が発生する環境.sql
でインポート可能です。
調査担当者の開発環境にUpdraftでインポートする場合
インポートファイルの配置
UpdraftPlusでエクスポートして貰ったデータを /wp-content/updraft/ ディレクトリに置きます。
Updraftでのインポートの実行
配置したバックアップデータを Updraft が認識するように「新規バックアップ一式のためにローカルフォルダーを再スキャン」を実行します。
すると、既存のバックアップファイルが表示されるので、復元します。
インポートした環境のURL調整とログイン
URLの置換
ログインしたりサイトを表示した時にへんなURLにリダイレクトしてしまう場合はデータベースに保存されている WordPress の URL 情報を置換する必要があります。
※プラグインなどでインポートした場合はインポート時に自動的に置換されて正常に表示される場合がありますので、その場合はこの工程は必要ありません。
wp-env の場合
wp-env run cli wp search-replace 不具合の発生する環境のドメイン 今の開発環境のドメイン
wp-env 以外の場合
wp search-replace 不具合の発生する環境のドメイン 今の開発環境のドメイン
※ 環境が wp-env でない場合は wp-env run cli
は削除してそれ以降の部分だけ叩いてください。
ユーザー情報の作成
不具合が発生する環境のユーザー名とパスワードを教えて貰っても良いのですが、聞くのが面倒な場合は以下のようにコマンドで発行します。
wp-env run cli wp user create admin admin@example.com --role=administrator --user_pass=admin
これで
ユーザー名 : admin
パスワード : admin
でログインできます。
※ 環境が wp-env でない場合は wp-env run cli
は削除してそれ以降の部分だけ叩いてください。
調査・検証・修正
これでデータベースのインポートができたのでインポートした環境で同様の不具合が発生するか調査します。
もとのデータベースの復元
wp-env の場合
データベースのリセット
wp-env run cli wp db reset
もとの環境のデータベースの復元
wp-env run cli wp db import もとの環境.sql
Updraftの場合
設定 > UpdraftPlusバックアップ 画面の バックアップ/復元 タブから復元
みたいな感じでもとに戻せます。
この記事を書いた人
-
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
WordCamp Tokoy 2023 セッションスピーカー
WordCamp Asia 2023 セッションスピーカー(LT)
WordCamp Niigata 2019 セッションスピーカー
WordCamp Haneda 2019 セッションスピーカー
WordCamp Osaka 2018 セッションスピーカー
WordCamp Kyoto 2017 セッションスピーカー
他
最近の投稿
フルサイト編集対応ブロックテーマ
WordPress テーマ X-T9 は、WordPress 5.9 から実装されたフルサイト編集機能に対応した「ブロックテーマ」と呼ばれる新しい形式のテーマです。
ヘッダーやフッターなど、今までのテーマではカスタマイズが難しかったエリアもノーコードで簡単・柔軟にカスタマイズする事ができます。
パターンを使って
よりクオリティの高いサイトに
パターンとは、WordPressのブロックを組み合わせて作ったデザインテンプレートのようなもの。プロのデザイナーが制作したパターンを300以上公開中!コピペしながら高品質なサイトを簡単に作れます。
ブロックエディターで
ABテストを
自由に作成できる VK AB Testing
VK AB Testing は、ABテストを実施するための WordPress 用プラグインです。ブロックエディターでテストパターンを自由に作成でき、ランダム表示とクリック計測が可能です。Webサイトや広告などの施策の改善にぜひご活用ください。