📃

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_cdmt_cfmt_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 生成されるファイルのアーカイブタイプ(indexPageContentTypeなど、おそらくデザインのテンプレートに登録されているもの)
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 アセットを紐づけるデータの種類(entrycontent_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_objectassetmt_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_typeassetcontent_typecontent_dataがセットされているので、これらを紐づけるためのテーブルだと思われるが、何で使用しているのかは不明。

mt_trackback

トラックバックの機能のためのテーブル。MT8ではトラックバック機能は廃止。

mt_ts_error / mt_ts_exitstatus / mt_ts_funcmap / mt_ts_job

TheSchwartz(ジョブキュー)に関するテーブル。

参考サイト

MTのテーブル構造を確認するにあたり、以下の記事を参考にさせていただきました。

https://qiita.com/Hi_Noguchi/items/b54fe5c08598ede58413

Discussion