WordPress標準制作フロー2024で記載したとおり、弊社のWordPress案件では、@wordpress/env
を開発環境として用いることが多いです。
@wordpress/env
でのDBの確認はAccessing the MySQL Databaseに記載されているとおりです。
起動時に標準出力されるポート番号を控え、DBクライアントから接続します。
MySQL is listening on port {MYSQL_PORT_NUMBER}
Host: 127.0.0.1
Username: root
Password: password
Database: wordpress
Port: {MYSQL_PORT_NUMBER}
こちらを元にDBeaverなどから接続すればよいのですが、毎回ポート番号が変わってしまうため、DBeaverを起動しなおすごとに、設定を変更する必要があります。
これは少し面倒です。
WP-CLIにはwp db query
という便利なコマンドがあります。
これはDBへの接続情報を開発者が意識しなくてもそのままSQLを実行できます。
@wordpress/env
想定で、ホスト側からDockerインスタンス上でのコマンド実行する場合はnpx wp-env run cli
を先頭につけます。
(※wp-env
をグローバルインストールしている場合はnpx
を省略)
具体的にはこのようになります。
% npx wp-env run cli wp db query 'SHOW TABLES'
+------------------------------+
| Tables_in_wordpress |
+------------------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_redirection_404 |
| wp_redirection_groups |
| wp_redirection_items |
| wp_redirection_logs |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
| wp_yoast_indexable |
| wp_yoast_indexable_hierarchy |
| wp_yoast_migrations |
| wp_yoast_primary_term |
| wp_yoast_seo_links |
+------------------------------+
✔ Ran `wp db query SHOW TABLES` in 'cli'. (in 1s 114ms)
便利ですね。
@wordpress/env
での環境に限らず、wp-config.php
を確認してmysql
コマンドで入って、という手順を省略できるので様々な場所で活躍します。
WP-CLIはそのほかにも、便利な機能が多数ありますのでWordPressを扱うエンジニアはおおよその機能を知っておくと良いでしょう。