Movable Typeのカテゴリ情報を管理するmt_placementテーブルの解析
2010.06.29
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判定されたコメントを避けつつ、効率的にコメント公開を行うための実践的な手順を解説します。
MTテンプレートで変数を正規表現で置換する方法
2023.04.24
Movable Typeのテンプレート内で、変数の値を正規表現を使って置換する方法を解説します。regex_replaceモディファイアを使って、簡単に文字列を変換するテクニックを紹介します。
PHPとOpenAI APIで簡単なチャットシステムのコードを書いてみた
2023.04.13
PHPとOpenAI APIを使ってチャットボットを作成し、ユーザーとAIが対話できる基本的なプログラムを紹介します。サーバーに保存したチャット履歴を基に、APIから取得したレスポンスをデータベースに記録し、チャット形式で対話を進めていくサンプルコードを用意しました。
PHPでMySQLに接続してデータを取得する基本テンプレ
2023.04.11
PHPでMySQLに接続し、データを取得する基本的な手順のテンプレ。mysqli拡張を使用したデータベース接続から、SQLクエリ実行、結果の取得までの処理を掲載しています。