技術資料

Movable Typeのカテゴリ情報を管理するmt_placementテーブルの解析

作成日:2010.06.29

Movable Typeでブログ記事がどのカテゴリに属しているかを把握するために重要なのが「mt_placement」テーブルです。この記事では、このテーブルの構造とカテゴリ情報の管理方法について解説し、データベース操作に役立つ知識を提供します。

error この記事は最終更新日から14年以上が経過しています。

Movable Type のデータベースを直接いじる機会ってそんなにないと思うんですが、プラグインを作るときとか、サーバー移転とかでちょっとデータをいじったりする時とかの参考に。

各ブログ記事がどのカテゴリに属しているのか、というデータが、データベースのどのテーブルにどういう形で入っているのか、という話です。

ブログ記事関連のデータなので、テーブル「mt_entry」に入ってるんじゃないかな、ととりあえず考えると思うんですが、違います。
実際「mt_entry」テーブルには「entry_category_id」というフィールドがあるんですが、これは多分、古いバージョンで一ブログ記事に対して一カテゴリしか設定できなかった頃に使っていたフィールドでしょう。今では使われていません。

じゃあどのテーブルなんだって話なんですけども、ずばり「mt_placement」というテーブルがそれです。

このテーブルは、以下のような構造になっています。

placement_id
各行を識別するID
placement_blog_id
ブログ記事の属する blog_id
placement_category_id
ブログ記事の属する category_id
placement_entry_id
ブログ記事の entry_id
placement_is_primary
メインカテゴリとして指定されているかどうか。メインカテゴリなら 1 が。メインでなければ 0 が入ります。

こういうデータがずらっと入ってるわけですね。

ブログ記事に対して複数のカテゴリが指定されている場合は、もちろん複数行にわたって同一の placement_entry_id に対して異なる placement_category_id のデータが入っています。

Movable Typeで非公開コメントを一括公開する方法—SQLを使った簡単な手順

2010.04.15

Movable Typeのコメント管理で、非公開コメントを一括で公開状態に変更したい時に便利なSQLの活用法を紹介します。SPAM判定されたコメントを避けつつ、効率的にコメント公開を行うための実践的な手順を解説します。

Movable Type MySQL

MySQLのUPDATE文を使ったカラム値の一括置換

2025.02.06

MySQLで特定のカラム内の文字列を簡単に置換する方法を紹介します。この記事では、UPDATE文とREPLACE関数を組み合わせて、効率的にデータを更新する方法を解説します。

MySQL

MySQLで新規カラムに既存データを一括登録する方法

2025.02.03

MySQLのUPDATE文を活用し、テーブルの新規カラム「更新日」に既存データ「作成日」を効率的に反映する手法を解説します。

MySQL

MTテンプレートで変数を正規表現で置換する方法

2023.04.24

Movable Typeのテンプレート内で、変数の値を正規表現を使って置換する方法を解説します。regex_replaceモディファイアを使って、簡単に文字列を変換するテクニックを紹介します。

Movable Type

阿部辰也へのお仕事の依頼・お問い合わせ

お名前 *必須
会社名
メールアドレス *必須
電話番号
URL
お問い合わせのきっかけ
お問い合わせの内容 *必須
個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP