WP2.3: データベース変更点の確認
ME 2.0.4 から 2.3 へアップグレード した結果、データベース構成がどのように変わったか、データがどう書き換わったかを確認してみた。
- DB テーブル一覧・項目一覧
- 2.0.4 → 2.3 DB 変更概要:
- 設定
- 【2.3】
wp_optionsテーブルから 6フィールド削除
- 【2.3】
- 記事・ページ
- 【2.1】
wp_postsテーブルに、新フィールドpost_type追加 - 【2.3】
wp_postsテーブルのpost_statusフィールドに、新ステータスpending追加
- 【2.1】
- カテゴリ・タグ
- 【2.1】
wp_categoriesテーブル(記事カテゴリ)にwp_linkcategoriesテーブル(リンクカテゴリ)のデータがマージ - 【2.3】
wp_categories、wp_link2cat、wp_post2cat→wp_term_relationships、wp_term_taxonomy、wp_termsテーブルに再編成
- 【2.1】
- 設定
DB 構成
| ME 2.0.4 | レコード数 | → | 2.3 | レコード数 | 備考 |
|---|---|---|---|---|---|
| wp_categories | 50 | 再編 | |||
| wp_comments | 254 | → | wp_comments | 266 | |
| Democracy | |||||
| Democracy | |||||
| Democracy | |||||
| wp_linkcategories | 1 | 再編 | |||
| wp_links | 1 | → | wp_links | 1 | |
| wp_options | 181 | → | wp_options | 193 | |
| wp_post2cat | 673 | 再編 | |||
| wp_post2tag | 991 | → | wp_post2tag | 991 | UTW |
| wp_postmeta | 547 | → | wp_postmeta | 547 | |
| wp_posts | 492 | → | wp_posts | 492 | |
| wp_tags | 118 | → | wp_tags | 118 | UTW |
| wp_tag_synonyms | 0 | → | wp_tag_synonyms | 0 | UTW |
| wp_terms | 51 | categories+linkcategories | |||
| wp_term_relationships | 6731 | post2cat+links? | |||
| wp_term_taxonomy | 51 | categories+linkcategories | |||
| wp_usermeta | 28 | → | wp_usermeta | 28 | |
| wp_users | 3 | → | wp_users | 3 |
- Democracy の 3テーブルはアップグレード作業前に手動で削除。
- UTW の 3テーブルのデータは、後で 2.3 コアテーブルにインポートする予定。その後しばらく様子を見てから削除するつもり。
wp-options テーブル
2.3 で、options テーブルから長い間使われていなかった 6フィールドが削除され、5フィールドとなった。
削除されたフィールド:
option_can_override, option_type, option_width, option_height, option_description, option_admin_level
アップグレード前にデータを見たところ、削除されるフィールドは全部初期値だった。うちで入れていたプラグインでは、これらのフィールドは使っていなかった模様。
2.3 アップグレード後の options テーブル:

wp_posts テーブル 【2.1, 2.3】
- 【2.1】 図中の黄色
- 新フィールド
post_type追加 post_statusフィールドに 新ステータス'inherit'2,'future'を追加
- 新フィールド
- 【2.3】 図中の水色
post_statusフィールドに 新ステータス'pending'追加
カテゴリ・タグ 【2.1, 2.3】
変更点: 記事カテゴリ+リンクカテゴリ3 → Terms テーブルトリオ
wp_terms テーブル

- ID 1~51 までは、旧
wp_categoriesテーブルから(記事のカテゴリ)。欠番が一つあったが、ID は変更なく引き継がれた。 - ID 52 は、旧
wp_linkcategoriesテーブルから(リンクカテゴリ)
- (1) 同一カテゴリスラッグを自動変更:
slugフィールドはユニークキー。2.0.4 のときに「none」というカテゴリスラッグを複数作っていたので、アップグレード時に自動的に「none-連番」に書き換わった。未使用カテゴリなのでこのままで OK。- (2) リンクカテゴリにスラッグ自動生成:
nameから生成(日本語部分は URL エンコード)して格納された。リンクを使うことがあれば、そのときに整備することにする。
wp_term_taxonomy テーブル
term がどの分類に使われるか、概要文、親カテゴリといった、実際に分類で使われるデータが格納されるテーブル。

- term_taxonomy_id — 分類データの ID。アップグレード時に連番で新規作成された。
- taxonomy — どの分類に使われるか。
category: 記事用カテゴリとして使われているterm_id1~51 はこちらlink_category: リンクカテゴリのterm_id52 はこちらpost_tag: 記事用のタグ。まだ UTW からインポートしていないので、レコードなし。
wp_term_relationships テーブル
記事・リンクデータと分類データとの関連付け。

- 上図は、アップグレード後に 1投稿・1ドラフト作った後のデータなので、2レコード増。
object_id: 記事ID or リンクID- 例えば最後のレコードは、
object_id: 10 =link_id: 10term_taxonomy_id: 51 = リンクカテゴリ、term_id: 52 = 「Blogroll(テスト中)」



v-m-sにっし :
January 6th, 2008 at 11:27
[Wordpress]My Category Order…
WPの入れ替え - v-m-sにっし(2.2.3ME→2.3.2)後、表面的には何がどうなってどうなのか、だったのだが、よくよく見るとMy Category Order(カテゴリの表示順を指定できるプラグイン)がまとも…