« 声をかけられる,の巻 | メイン | もうなんていうか »

2006年01月23日

Movable Type移行の覚え書き

ドメイン移行に伴って,Movable Typeのデータ移行をしたわけですが.
ついでにMovable Typeのバージョンも上げたので,トラブルなんかも.
そのあたりのメモです.

まず,旧バージョン(ここでは3.17)で,エントリーデータを書き出します.
これ自体はテキストデータなので,画像のURLなんかを一括置換.
で,移行先のMovable Type(バージョンは3.2)のインストールディレクトリにimportという名前のディレクトリを作って,その中にさっきのエントリーデータをアップロード.
で,Movable Typeの設定画面から「読み込み」をするとさっくりエントリーが読み込まれます.

とまぁ,エントリーの移行自体はあっさり行くんだけど.
問題は2つ.
1つめはテンプレート.
テンプレートは旧バージョンからコピーすればいいわけだけど,
<MTInclude module="Remember Me">
ってのが見つからない,といわれて,個別アーカイブが再構築できないという問題が.
これは,要はIncludeしたいモジュールが見つからないってだけなので,従来のRemember Meを「モジュール」で追加してやればよいんだけど.
意外にはまります(笑)

2つめはパーマネントリンク(永続的リンク)の設定.
blogには個別記事へのリンク(と実体)があるわけですが,エントリーネームに日本語が使ってあるとHTMLファイル名にポストID(DB上の番号)が付いてしまうケースがあるのです.
で,Movable Typeのデータを移行すると,このポストIDが変わってしまうケースがあって,エントリーデータのURL一括置換ではパーマネントリンクが機能しない場合が.
で,これを解決する方法をいろいろ調べていたら,個別アーカイブのHTMファイル名をユニークになるように指定する,という方法で回避できる模様.
「公開」のところに,ファイル名を指定する機能があるので,
%y/%m/%d/%h%n%s.html
と指定します.
こうすると,2006年01月23日01時20分30秒のエントリーは,
MT_install_Dir/2006/01/23/012030.html
となるのでした.
ここでは,同日同時刻の投稿は必ず1件,という前提をたてています.
複数人の同時投稿があるケースは使えないですが,基本的にはこれで大丈夫だと.
で,従来のエントリーを参照していたエントリーは全部新方式に書き換えました.
疲れたよ・・・(笑)

というわけで,見た目以上に移行は大変だったんだけど,無事完了,です(笑)
むしろ,エントリーの投稿で変数(変更がありそうなURL等に適用したい)とか利用したいんだけど,できないのかなぁ?

投稿者 chimaki : 2006年01月23日 01:57

トラックバック

このエントリーのトラックバックURL:
http://blog.projectmd.com/cgi-bin/mt/mt-tb.cgi/432