この記事は世界一有名なブログシステムであるWordPressのDB設計を調べてみたので、書き残しておきます。
調査した環境
Dockerにて構築(下記参照)してインストール直後のテーブルの状態を調べました。
バージョンは6.3でした。
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
YAML調査結果
ER図
小さくて見にくかったらごめんなさい。要望があれば分割して書き直します。
erDiagram
wp_users ||--o{ wp_usermeta : ""
wp_users ||--o{ wp_comments : ""
wp_posts ||--o{ wp_postmeta : ""
wp_posts ||--o{ wp_comments : ""
wp_posts ||--o{ wp_term_relationships : ""
wp_comments ||--o{ wp_commentmeta : ""
wp_terms ||--o{ wp_termmeta : ""
wp_terms ||--o{ wp_term_taxonomy : ""
wp_links ||--o{ wp_term_relationships : ""
wp_term_taxonomy ||--o{ wp_term_relationships : ""
wp_users {
bigint ID
varchar user_login
varchar user_pass
varchar user_nicename
varchar user_email
varchar user_url
datetime user_registered
varchar user_activation_key
int user_status
varchar display_name
}
wp_commentmeta {
bigint meta_id
bigint comment_id
varchar meta_key
longtext meta_value
}
wp_comments {
bigint comment_ID
bigint comment_post_ID
tinytext comment_author
varchar comment_author_email
varchar comment_author_url
varchar comment_author_IP
datetime comment_date
datetime comment_date_gmt
text comment_content
int comment_karma
varchar comment_approved
varchar comment_agent
varchar comment_type
bigint comment_parent
bigint user_id
}
wp_links {
bigint link_id
varchar link_url
varchar link_name
varchar link_image
varchar link_target
varchar link_description
varchar link_visible
bigint link_owner
int link_rating
datetime link_updated
varchar link_rel
mediumtext link_notes
varchar link_rss
}
wp_options {
bigint option_id
varchar option_name
longtext option_value
varchar autoload
}
wp_postmeta {
bigint meta_id
bigint post_id
varchar meta_key
longtext meta_value
}
wp_posts {
bigint ID
bigint post_author
datetime post_date
datetime post_date_gmt
longtext post_content
text post_title
text post_excerpt
varchar post_status
varchar comment_status
varchar ping_status
varchar post_password
varchar post_name
text to_ping
text pinged
datetime post_modified
datetime post_modified_gmt
longtext post_content_filtered
bigint post_parent
varchar guid
int menu_order
varchar post_type
varchar post_mime_type
bigint comment_count
}
wp_term_relationships {
bigint object_id
bitint term_taxonomy_id
int term_order
}
wp_term_taxonomy {
bigint term_taxonomy_id
bigint term_id
varchar taxonomy
longtext description
bigint parent
bigint count
}
wp_termmeta {
bigint meta_id
bigint term_id
varchar meta_key
longtext meta_value
}
wp_terms {
bigint term_id
varchar name
varchar slug
bigint term_group
}
wp_usermeta {
bigint umeta_id
bigint user_id
varchar meta_key
longtext meta_value
}
テーブル
テーブル一覧
テーブル名 | 機能 |
---|---|
wp_commentmeta | コメントのメタデータを管理 |
wp_comments | 投稿へのコメントを管理 |
wp_links | リンクを管理 |
wp_options | オプション設定 |
wp_postmeta | 投稿のメタデータ |
wp_posts | 投稿を管理 |
wp_termmeta | カテゴリ・タグのメタデータ |
wp_terms | カテゴリ・タグ |
wp_term_relationships | 記事とカテゴリ・タグの関連付け |
wp_term_taxonomy | カテゴリ・タグの分類 |
wp_usermeta | 登録ユーザーメタ情報 |
wp_users | 登録ユーザー情報 |
詳細は公式情報を見よう
色々調べていたら、WordPress Codexという公式のドキュメント内にあるDatabase Description(英語)のページがありました。
より正確な情報はこちらを見ましょう。
コメント