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判定されたコメントを避けつつ、効率的にコメント公開を行うための実践的な手順を解説します。
MySQLのUPDATE文を使ったカラム値の一括置換
2025.02.06
MySQLで特定のカラム内の文字列を簡単に置換する方法を紹介します。この記事では、UPDATE文とREPLACE関数を組み合わせて、効率的にデータを更新する方法を解説します。
MySQLで新規カラムに既存データを一括登録する方法
2025.02.03
MySQLのUPDATE文を活用し、テーブルの新規カラム「更新日」に既存データ「作成日」を効率的に反映する手法を解説します。
MTテンプレートで変数を正規表現で置換する方法
2023.04.24
Movable Typeのテンプレート内で、変数の値を正規表現を使って置換する方法を解説します。regex_replaceモディファイアを使って、簡単に文字列を変換するテクニックを紹介します。