MovableType3.2で起こる再構築時エラーの対策

mtconvert.gif
以前使用していたMovableType3.1では、cronを設定しないと指定日での自動投稿をおこなうことが出来なかった。
今「水晶堂」を置いているレンタルサーバでは、cronの設定をおこなうことは出来なかったので、これを機に最新版の3.33にバージョンアップすることにした。
3.3以降では、cronを使わなくても、ログフィードのRSSを読み込んでタスクを実行させることで指定日での自動投稿機能が使えるようになっている。
バージョンアップ自体はうまくいったのだけれど、サイトの再構築をするとInternal Server Error(500)が発生する。
原因がわからず途方に暮れていたところ、Six Apartのホームページに「BerkeleyDBを使用している場合、再構築時におけるメモリー使用量の増加により、再構築できない現象が発生する可能性がある。」という情報が公開されていた。
http://www.sixapart.jp/movabletype/news/2005/10/05-1955.html
バージョン3.2以降、BerkeleyDBでの再構築時のメモリ使用量はバージョン3.171の約10倍に増えているという。
今使っているレンタルサーバでは、再構築中にメモリが足りなくなるためにエラーが起こっているようだったので、BerkeleyDBからSQLiteに乗り換えることにする。
MovableTypeにもDB変換のスクリプト「mt-db2sql.cgi」が付属しているのだけれども、いくつか細かいバグがあるようだったので、Ogawa::Memorandaさんが公開している「MT Database Converter」を使うことにした。
http://code.as-is.net/wiki/MT_Database_Converter.ja_JP
SQLiteに変更をした後は、無事にサイトの再構築が出来るようになった。新しいバージョンになって、機能は増えたけれど、再構築の動作はかなり重くなったなあという印象。