- 2009-01-21 (水) 8:29
身内のブログを移転する際に、MovableTypeを3.35から4.23にバージョンアップしました。
その際に、これまでに別のカテゴリとして登録していた記事を一つに纏めたいという要望があり、その対応を行いました。
各カテゴリに属する記事が少ない場合は、[ブログ記事の管理]で記事の絞り込みを行い、全て選択した上での一括編集ということになるのでしょうが、件数が多い場合にはこの手順ではとてもやってられません。そこで、MovableTypeが利用しているPostgreSQLのデータベースを直接変更することにしました。
事前準備として、ブログIDと変更前、変更後のカテゴリIDを調べておきます。これらの値は、[カテゴリの編集]画面のURLから容易に知ることができます。
例えば、変更前カテゴリのURLが、
http://dummy/mt.cgi?__mode=view&_type=category&blog_id=1&id=10
変更後カテゴリのURLが、
http://dummy/mt.cgi?__mode=view&_type=category&blog_id=1&id=24
の場合、それぞれの値は次の通りとなります。
ブログID:1
変更前カテゴリID:10
変更後カテゴリID:24
後は、psqlやphpPgAdminでデータベースに接続した上で、次のSQLを実行するだけとなります。
UPDATE mt_placement SET placement_category_id = 24 WHERE placement_blog_id = 1 AND placement_category_id = 10;
一度変更してしまったものは容易には元に戻せないため、事前にバックアップを取ったり、ブログIDやカテゴリIDを十分に確認した上で作業を行うことをお勧めします。
- 次の記事: MT4のPHPプラグイン
- 前の記事: psqlとmysql(対話型ターミナル)
