私のエンジニアとしてのキャリアはデータベースエンジニアがスタートでした。
最近、元データベースエンジニアならではのWordPressとの付き合い方があると気づいたので、データベースに関する知識がWordPress開発のどういう場面で役に立つか紹介します。
同じプラグインやテーマを使用したWordPressであればデータ移行は比較的容易だと思います。ただ使用しているプラグイン(特にカスタムフィールド関連)が異なったりすると結構厄介だったりします。そんなときデータベースの知識があれば、データベースの中を直接確認して、例えばプラグインのデータがどのように管理されているのか理解し、SQLを駆使して、新しい環境に合わせたデータ移行をおこなうことができます。
全記事のある一部のテキストやタグ、URLを一括で置き換えたいということがあります。WordPressの記事やカスタムフィールドの情報はデータベースに登録されているので、データベースの知識があれば、SQLを実行することで簡単に置き換えを実施することができます。もちろん実施前にはデータベースのバックアップも必要です。
※プラグインでも可能です。
複雑な条件に該当する記事を抽出して表示したいとき、WordPressの機能だけでは簡単に記事を抽出できないときがあります。データベースの知識があれば、独自に作成したSQLを実行して複雑な条件を満たす記事を抽出することができます。複雑なSQLだとパフォーマンスの低下やサーバー負荷という懸念もありますが、SQLをチューニングしながら実装すれば問題ありません。
万が一使用していたユーザーのログイン情報がわからなくなってしまい、ユーザーのメールアドレスも使用できないためパスワードの再発行もできず、どうしようもないとき、データベースに登録されているユーザーのパスワードを直接設定することで復旧することができます。
エラーが出てないけど、意図した挙動にならないとき、データベースを確認することで解決することがあります。以前、管理画面から編集した情報が更新されないということがありました。データベースを確認してみると、本来一件のデータであるべきものが、複数登録されていたということがありました。原因は使用していたプラグインで、プラグインを変更し、不要なデータを削除することで解決しました。
データベースの知識がなくてもWordPressの開発はできますが、データベースの知識があれば、課題や問題が発生したときに他の改善策に比べて短期に解決できることもあります。WordPressの開発者の方は一度データベースの中身をのぞいてデータ構造を理解しておくことをおすすめします。
ベイジでは今後もエンジニアを増員していきますので、ご興味がある方は採用サイトもご覧ください。(エントリーするか迷っている方向けのカジュアル面談も実施してます)