投稿日:

WordPress の wp_blogs テーブルのカラムの意味と想定値


WordPress をネットワーク(マルチサイト)化すると、wp_blogs というテーブルが出来ます。このテーブルの幾つかのカラムの意味や取り得る値を調べる必要がありましたが、通常こういった情報にはドキュメントが有る筈なのですが、ネットで検索しても見つけることが出来ず…、自分で調べましたので結果をまとめておきます。

結論

まず結論ですが、確認した結果を表にしました。以下の通りです。

カラム 用途  型 想定値 デフォルト 備考
public 公開フラグ tinyint(2) 1 | 0 1
archived アーカイブフラグ enum(‘0’, ‘1’) 1 | 0 0
mature 成人向けフラグ tinyint(2) 1 | 0 0 WP3.5において実用的な実装は見られず
spam スパムフラグ tinyint(2) 1 | 0 0
deleted 削除フラグ tinyint(2) 1 | 0 0

大したことないまとめですみません。やっぱそんなもんだろ?って言われそうですが、個人的に各カラムの値の想定値は押さえておきたかったので、調べました。結論としては、全部ただの2値フラグだろうと思います。archived が enum だったので気になって調べたのですが、うーむ、ちょっと騙された感じがいたします(勝手に思い込んで騙されたとか言うなと怒られますね (^_^;A)。

★なお、ほぼコードから読み取った認識なので、もし間違いがあったらご指摘ください。

では、いちおう気にした部分を下記にまとめます。

archived が enum

archived が enum になっているので、他のカラムは2値フラグでなくてカウンタなのか?とまず疑いました。public、deleted、archived は、その命名から「まず2値フラグだね」とは思ったのですが、そうなるとカラム型の違いに納得が行かなくて、コード中の用法を調べてみて、まあ2値フラグだろうと確定しました。

spam

これを調べるのにはちょっと時間が掛かりました。スパムという意味合いから、spam の報告をカウントして、ユーザーが設定する閾値を超えた時にスパムサイトと判定するようなロジックが普通に考えれるなーと思ったからです。ただ、コードを見る限り、そういったロジックが含まれている形跡がなく、最終的には、2値フラグだろうと判断しました。

mature

これが一番分からなかった…。まず、「mature」の意味が分からない (^_^;A。だいぶぐぐりまして、コチラのページで「成人向けフラグ」であることが分かりました。また、コード見る限りこちらも2値フラグであることで一応納得。念のため、年齢制限をしているようなコードを調べてみたのですが、見当たらず…(というか WP のユーザーに標準で年齢や誕生日設定とか無かったでしたよね)。というわけで、単なるフラグということでさらに納得。どうもカラムの存在意義が分からないですね。。。

全般的な印象

コードを確認した印象ですが、archived、mature、spam あたりの実装がどうもちゃんと作られたものではないように見えます。MU からの名残なのかな? mature については、@jim0912さんによると、WordPress.com の向けなのかも知れないとのこと…。おぉ。なるほどなるほど。

個人的には、理想があってデータベースにカラムを用意したけれど、ちょっと実装が追いつかなくって現在は放置になってしまったのかなーという印象を感じました。あくまでも印象なので恐縮なのですが、もし何かご存知の方がいたら教えていただきたいなーと思います。でも、どうにも気持ち悪いのは archived の enum(‘0′,’1’)かなー (^_^;A

これで間違いなければ、日本語版 Codex にも追記したいのですが、大丈夫か心配なので、しばらく経ってから改めてそちらは考えたいと思います。

 

コメントを残す