Movable Typeで使用するDBの各テーブルについて
概要
Movable Type(以下MT)で使用するDBの各テーブルについて、独自プログラムを実装するために調べた個人的な覚書です。
本記事の内容については個人の推測の域を出ませんので、あらかじめご了承ください。
各テーブルについて
各テーブルのカラム説明は個人的に必要そうなもののみ記載しています。
mt_accesstoken
アクセストークンに関するテーブル。accesstoken_session_id
とあるので、mt_session
と何かしら紐づいてるかもしれない。
mt_append_grid_schema
不明。手元のDBでは中身が空なので推測できず。
mt_asset
管理画面にアップロードされたアセットデータ(画像や動画など)に関するテーブル。
カラム名 | 説明 |
---|---|
asset_blog_id |
アップロードされているブログID |
asset_class |
アセットの種類 |
asset_created_on |
アップロード日時 |
asset_description |
アセットの説明文 |
asset_file_ext |
アセットの拡張子 |
asset_file_name |
アセットのファイル名 |
asset_file_path |
アセットのファイルパス |
asset_label |
アセットのラベル名 |
asset_mime_type |
アセットのMINEタイプ |
asset_modified_on |
アセットの更新日時(初期値はアップロード日時) |
asset_url |
アセットのURL(asset_file_path と同じ?) |
asset_height |
アセットの縦幅(px) |
asset_width |
アセットの横幅(px) |
mt_asset_meta
アセットのメタデータに関するテーブル。アセットに関するカスタムフィールドの値も格納される。
手元のDBではasset_meta_type
カラムにimage_width
またはimage_height
がセットされているので、主に画像に関するメタデータを格納しているのかな…とおもっている。
mt_association
各ブログでのロールの関連付けをしていると思われるテーブル(カラムにassociation_role_id
とあるので)
mt_author
アカウント(ユーザー)に関するテーブル。
カラム名 | 説明 |
---|---|
author_id |
アカウントID |
author_api_password |
アカウントのAPI用PW |
author_created_on |
アカウント登録日時 |
author_email |
登録メールアドレス |
author_modified_on |
アカウント更新日時(初期値は登録日時) |
author_name |
アカウント名(ログインID) |
author_nickname |
アカウント表示名 |
author_password |
アカウントPW(暗号化されている) |
author_preferred_language |
アカウントに設定されている言語 |
mt_author_meta
アカウント(ユーザー)のメタデータに関するテーブル。ユーザーに関するカスタムフィールドの値も格納される。
mt_author_summary
アカウント(ユーザー)に関するテーブルだと思われるが、手元のDBでは中身が空なので推測できず。
「summary」は要約とか概要とかまとめとかいう意味だけど、そこからも推測できない。
mt_be_block
不明。手元のDBでは中身が空なので推測できず。
もしかしたら古いもので、MTを新規インストールしたら作成されないテーブルかもしれない。
mt_be_config
不明。手元のDBでは中身が空なので推測できず。
もしかしたら古いもので、MTを新規インストールしたら作成されないテーブルかもしれない(mt_config
というテーブルが存在している)
mt_blog
ブログ(ウェブサイト)の主に設定の情報が格納されているテーブル。
mt_blog_meta
ブログ(ウェブサイト)のメタデータに関するテーブル。ブログに関するカスタムフィールドの値も格納される。
mt_category
記事やコンテンツタイプのカテゴリや、ウェブページのフォルダに関するテーブル。
カラム名 | 説明 |
---|---|
category_id |
カテゴリID |
category_basename |
カテゴリ(フォルダ含む、以下同)のベースネーム |
category_blog_id |
カテゴリが登録されているブログID |
category_category_set_id |
コンテンツタイプのカテゴリセットID(コンテンツタイプでなければ0 ) |
category_class |
カテゴリのclass(category 、フォルダの場合はfolder ) |
category_created_on |
カテゴリの登録日時 |
category_description |
カテゴリの説明 |
category_label |
カテゴリのラベル名 |
category_modified_on |
カテゴリの更新日時(初期値は登録日時) |
category_parent |
親カテゴリのID(親がいなければ0 ) |
mt_category_meta
カテゴリやフォルダのメタデータに関するテーブル。カテゴリに関するカスタムフィールドの値も格納される。
mt_category_set
コンテンツタイプのカテゴリセットに関するテーブル。
カラム名 | 説明 |
---|---|
category_set_id |
カテゴリセットID |
category_set_blog_id |
カテゴリセットが登録されているブログID |
category_set_created_on |
カテゴリセットの登録日時 |
category_set_modified_on |
カテゴリセットの更新日時(初期値は登録日時) |
category_set_name |
カテゴリセットの名前 |
category_set_order |
登録カテゴリの並び順(親子関係なく並列) |
mt_cd
コンテンツデータに関するテーブル。
カラム名 | 説明 |
---|---|
cd_id |
コンテンツデータID |
cd_blog_id |
コンテンツデータが登録されているブログID |
cd_content_type_id |
コンテンツデータが登録されているコンテンツタイプID |
cd_created_on |
コンテンツデータの登録日時 |
cd_ct_unique_id |
コンテンツデータが登録されているコンテンツタイプのユニークID |
cd_data |
コンテンツデータの中身(mediumblob型バイナリデータとして格納されている) |
cd_identifier |
コンテンツデータの出力ファイル名 |
cd_modified_on |
コンテンツデータの更新日時(初期値は登録日時) |
cd_unique_id |
コンテンツデータのユニークID |
mt_cd_meta
コンテンツデータのメタデータに関するテーブル。具体的に何を格納してるかは不明。
mt_cd_rev
不明。コンテンツデータのリビジョンを管理しているのではないかと思われるテーブル。
mt_cf
コンテンツタイプの登録フィールドに関するテーブル。
カラム名 | 説明 |
---|---|
cf_id |
コンテンツタイプのフィールドID |
cf_blog_id |
フィールドが登録されているブログID |
cf_content_type_id |
フィールドが登録されているコンテンツタイプID |
cf_created_on |
フィールドの登録日時 |
cf_description |
フィールドの説明 |
cf_modified_on |
フィールドの更新日時(初期値は登録日時) |
cf_name |
フィールドの名前 |
cf_related_cat_set_id |
フィールドがカテゴリである場合、そのカテゴリセットのID |
cf_related_content_type_id |
フィールドがコンテンツタイプである場合、そのコンテンツタイプのID |
cf_type |
フィールドのタイプ |
cf_unique_id |
フィールドのユニークID |
mt_cf_idx
コンテンツタイプの登録フィールドを管理していると思われるテーブル。idx
はインデックスナンバーのことかと推測。
mt_cd
とmt_cf
、mt_content_type
の3つを紐づける(マージする)ために用意されているテーブルっぽい。
カラム名 | 説明 |
---|---|
cf_idx_id |
このテーブルのレコードID |
cf_idx_content_data_id |
コンテンツデータID |
cf_idx_content_field_id |
フィールドID |
cf_idx_content_type_id |
コンテンツタイプID |
cf_idx_created_on |
このテーブルのレコードの登録日時 |
cf_idx_modified_on |
このテーブルのレコードの更新日時(初期値は登録日時) |
ひとつのコンテンツデータに対して複数のレコードが追加されている(入力されているコンテンツタイプのフィールド分?)
mt_comment
コメントに関するテーブル。
カラム名 | 説明 |
---|---|
comment_id |
コメントID |
comment_author |
コメントの投稿者名 |
comment_blog_id |
コメントが投稿されているブログID |
comment_created_on |
コメントの投稿日時 |
comment_entry_id |
コメントが投稿されている記事ID |
comment_modified_on |
コメントの更新日時(初期値は投稿日時) |
comment_parent_id |
コメントに親がある場合、その親のID |
comment_text |
コメント本文(mediumtext型) |
mt_comment_meta
コメントのメタデータに関するテーブル。コメントに関するカスタムフィールドの値も格納される。
mt_config
MTのシステム設定が格納されているテーブル。
mt_content_type
コンテンツタイプに関するテーブル。
カラム名 | 説明 |
---|---|
content_type_id |
コンテンツタイプID |
content_type_blog_id |
コンテンツタイプが登録されているブログID |
content_type_created_on |
コンテンツタイプの登録日時 |
content_type_data_label |
コンテンツタイプのデータ識別ラベル(フィールドを指定した場合はそのフィールドのユニークID) |
content_type_description |
コンテンツタイプの説明 |
content_type_fields |
コンテンツタイプでセットしているフィールドの情報(mediumblob型バイナリデータとして格納されている) |
content_type_modified_on |
コンテンツタイプの更新日時(初期値は登録日時) |
content_type_name |
コンテンツタイプの名前 |
content_type_unique_id |
コンテンツタイプのユニークID |
mt_deletefileinfo
おそらく削除したファイルの情報を一時的に管理しているのではないかと思われるテーブル。
mt_entry
記事やウェブページに関するテーブル。
カラム名 | 説明 |
---|---|
entry_id |
記事(ウェブページ含む、以下同)ID |
entry_basename |
記事のベースネーム |
entry_blog_id |
記事が登録されているブログID |
entry_category_id |
記事に紐づいているカテゴリID…だと思うのだけど、手元のDBではいずれも空欄なので不明 |
entry_class |
記事のclass(記事はentry 、ウェブページはpage ) |
entry_created_on |
記事の公開日時 |
entry_modified_on |
記事の更新日時(初期値は公開日時) |
entry_status |
記事の公開ステータス(1 が未公開で2 が公開 |
entry_text |
記事本文 |
entry_title |
記事タイトル |
mt_entry_meta
記事やウェブページのメタデータに関するテーブル。記事やウェブページに関するカスタムフィールドの値も格納される。
カラム名 | 説明 |
---|---|
entry_meta_entry_id |
レコードID |
entry_meta_type |
カスタムフィールドの場合はfield.[カスタムフィールド名] という値が格納される |
entry_meta_vchar_idx |
カスタムフィールドの場合はフィールドに入力された値が格納される |
1つの記事に複数のカスタムフィールドがある場合は、入力された分のカスタムフィールドごとにレコードが追加される。
field.[カスタムフィールド名]
という値は、他の_meta
テーブルでカスタムフィールドが格納される場合も同様。
mt_entry_rev
おそらく記事やウェブページののリビジョンを管理しているのではないかと思われるテーブル。
mt_entry_summary
記事やウェブページに関するテーブルだと思われるが、手元のDBでは中身が空なので推測できず。
mt_failedlogin
おそらくログインに失敗した際の情報が格納されるのではないかと思われるテーブル。
mt_field
カスタムフィールドに関するテーブル。
カラム名 | 説明 |
---|---|
field_id |
カスタムフィールドID |
field_basename |
カスタムフィールドのベースネーム |
field_blog_id |
カスタムフィールドが登録されているブログID |
field_default |
カスタムフィールドの規定値 |
field_name |
カスタムフィールドの名前 |
field_obj_type |
システムオブジェクトのタイプ |
field_options |
ラジオボタンやドロップダウンのオプション値 |
field_required |
必須の場合は1
|
field_tag |
カスタムフィールドのテンプレートタグ |
field_type |
カスタムフィールドの種類 |
mt_fileinfo
再構築などで生成される静的ファイルに関するテーブル。
カラム名 | 説明 |
---|---|
field_id |
レコードのID |
fileinfo_archive_type |
生成されるファイルのアーカイブタイプ(index やPage 、ContentType など、おそらくデザインのテンプレートに登録されているもの) |
fileinfo_blog_id |
ファイルが登録されているブログID |
fileinfo_category_id |
ファイル(投稿)に紐づいているカテゴリID…だと思うのだけど、手元のDBではいずれも空欄なので不明 |
fileinfo_cd_id |
ファイルに紐づくコンテンツデータID |
fileinfo_entry_id |
ファイルに紐づく記事またはウェブページID |
fileinfo_file_path |
出力されるファイルのドキュメントルートパス |
fileinfo_url |
出力されるファイルのパス(ブログドメイン以降のパス) |
mt_filter
おそらく一覧の絞り込みフィルタを保存した際のデータが保持されると思われるテーブル。
mt_formatted_text
おそらく記事で作成した定型文のデータが保持されると思われるテーブル。
mt_group
不明。手元のDBでは中身が空なので推測できず。
mt_ipbanlist
おそらくアクセス禁止として登録したIPアドレスなどのデータが保持されると思われるテーブル。
mt_log
管理画面で確認できるログ(システムログ)に関するテーブル。
mt_notification
不明。手元のDBでは中身が空なので推測できず。
何かの通知用と思われる…。
mt_objectasset
記事やウェブページ、コンテンツデータとアセットを紐づけるために用意されているテーブル。
カラム名 | 説明 |
---|---|
objectasset_id |
レコードのID |
objectasset_asset_id |
紐づけるアセットID |
objectasset_blog_id |
紐づけるアセットが登録されているブログID |
objectasset_cf_id |
アセットを紐づけるコンテンツタイプフィールドID |
objectasset_object_ds |
アセットを紐づけるデータの種類(entry やcontent_data など) |
objectasset_object_id |
アセットを紐づける記事やウェブページ、コンテンツデータのID |
mt_objectcategory
コンテンツデータとカテゴリを紐づけるために用意されているテーブル。
記事やウェブページとカテゴリ(フォルダ)の紐付けは後述のmt_placement
で行われている。
カラム名 | 説明 |
---|---|
objectcategory_id |
レコードのID |
objectcategory_blog_id |
紐づけるカテゴリが登録されているブログID |
objectcategory_category_id |
紐づけるカテゴリID |
objectcategory_cf_id |
カテゴリを紐づけるコンテンツタイプフィールドID |
objectcategory_object_ds |
カテゴリを紐づけるデータの種類(content_data ) |
objectcategory_object_id |
カテゴリを紐づけるコンテンツデータのID |
mt_objectscore
不明。object
とついているので、mt_objectasset
やmt_objectcategory
と同じく複数のテーブルを紐づけるために用意されているテーブルかと思われる。
mt_objecttag
おそらく記事やウェブページで利用できるタグのデータが保持されると思われるテーブル。
mt_permission
ユーザーのブログ権限管理に関するテーブル。
mt_placement
記事やウェブページとカテゴリを紐づけるために用意されているテーブル。
コンテンツデータとカテゴリの紐付けは先述のmt_objectcategory
で行われている。
カラム名 | 説明 |
---|---|
placement_id |
レコードのID |
placement_blog_id |
紐づけるカテゴリ(フォルダ含む、以下同)が登録されているブログID |
placement_category_id |
紐づけるカテゴリID |
placement_entry_id |
カテゴリを紐づける記事のID |
mt_plugindata
プラグインの設定データなどが格納されているテーブル。
mt_preview
おそらくプレビュー機能に関するデータが格納されていると思われるテーブル。
mt_rebuild_trigger
再構築トリガーに関するテーブル。
mt_role
顕現グループ(ロール)に関する設定が含まれているテーブル。
mt_session
セッションデータが含まれるテーブル。
mt_tag
タグ管理のためのテーブルと思われるが、このテーブルは古いもので、現在はmt_objecttag
で管理していると思われる。
mt_tbping
トラックバックの機能(ping送信)のためのテーブル。MT8ではトラックバック機能は廃止。
mt_tbping_meta
トラックバックの機能(ping送信)のメタデータに関するテーブル。MT8ではトラックバック機能は廃止。
mt_template
テンプレートに関するテーブル。
カラム名 | 説明 |
---|---|
template_id |
テンプレートID |
template_blog_id |
テンプレートが登録されているブログID |
template_build_type |
テンプレートの公開ステータス(1 はスタティック、2 は手動など) |
template_created_on |
テンプレートの登録日時 |
template_identifier |
インデックステンプレートの種類(main_index など) |
template_modified_on |
テンプレートの修正日時(初期値は登録日時) |
template_name |
テンプレートの名前 |
template_outfile |
テンプレートの出力ファイル名 |
template_text |
テンプレートの内容 |
template_type |
テンプレートタイプ |
mt_templatemap
おそらくテンプレートと出力されるファイルを紐づけるソースマップのような情報を格納していると思われるテーブル。
mt_template_meta
テンプレートのメタデータに関するテーブル。テンプレートに関するカスタムフィールドの値も格納される。
mt_template_rev
テンプレートのリビジョンを管理していると思われるテーブル。
mt_touch
touch_blog_id
でブログID、touch_object_type
でasset
やcontent_type
、content_data
がセットされているので、これらを紐づけるためのテーブルだと思われるが、何で使用しているのかは不明。
mt_trackback
トラックバックの機能のためのテーブル。MT8ではトラックバック機能は廃止。
mt_ts_error / mt_ts_exitstatus / mt_ts_funcmap / mt_ts_job
TheSchwartz(ジョブキュー)に関するテーブル。
参考サイト
MTのテーブル構造を確認するにあたり、以下の記事を参考にさせていただきました。
Discussion