ブログ記事のエディタのフォーマットを一括で変更する SQL の備忘録です。
古い CMS から Movable Type にデータを移行しました。移行した時はとりあえずエディタのフォーマットを「なし」にしていましたが、やっぱり「リッチテキスト」にしようということになりました。
といことで、特定のブログで、エディタのフォーマットが「なし」の記事を、すべて「リッチエディタ」に変更する SQL は下記のようになります。
UPDATE `_ecube_mt`.`mt_entry` SET `entry_convert_breaks` = 'richtext' WHERE `entry_convert_breaks` = '0' AND `entry_blog_id` = ブログID;
実際に今回の場合は、カテゴリに属する記事だけフォーマットを変更しかったので、一旦そのブログのインデックステンプレートで、
<mt:Entries include_blogs="ブログID" lastn="0">
<mt:EntryPrimaryCategory>
UPDATE `_ecube_mt`.`mt_entry` SET `entry_convert_breaks` = 'richtext' WHERE `entry_id` = <mt:EntryID> AND `entry_convert_breaks` = '0' AND `entry_blog_id` = ブログID;
</mt:EntryPrimaryCategory>
</mt:Entries>
といった感じで SQL を書き出して、phpMyAdmin などで実行しました。
話はそれますが、こういうこともテンプレートで簡単に書き出せるのは Movable Type の魅力の一つですね。ただし、重要な情報がテンプレートに入っている場合は、書き出したファイルはすぐに消すか(インデックステンプレートを「公開しない」にして保存と再構築)、プレビューを利用するなどして実際にファイルを書き出さないというのもちょっとした Tips かもしれません。
以上です。