-
entry000460
OS を Fedora Core 3 に上げたところ,直接の原因は不明ながら MT が文字化けを起こすようになりました.
DB から取得したデータを ISO-8859-1 で処理しているようで,めちゃめちゃな実体参照だらけです. 多分どこかいじれば直るんだろうけれど,今更 MT2.64 のソースをいじるのもどうかと思ったので,いっそと MT3.121 に移行してしまいました.
MTEntryMoreMT の export / import の機能もあるのだけれど,噂ではファイル名が変わってしまうらしいので却下. MT のアップグレード用パッケージで DB スキーマを変更する方針をとりました.
- データのバックアップ
念の為,データベースのバックアップを取得します.
comments$ pg_dump movabletype > mt.dump
- アップグレード用パッケージの DL
パッケージの種類「アップグレード」を選択してダウンロードします.
- mt-upgrade*.cgi のコピー
アーカイブを展開して,mt-upgrade*.cgi を既存の MT のルートディレクトリにコピーします.実行権限があることを確認しましょう.
- DB スキーマの更新
今回は 2.64 がベースなので以下の二つのファイルにアクセスして,DB スキーマを更新します.
- mt-upgrade30.cgi
- mt-upgrade31.cgi
なにやら WARNING がでますが,メッセージを読む限り特に問題なさそうなので無視.これらのスクリプトに現れる SQL,PostgreSQL で実行できる形式に見えないんだけれど,どこかで変換かませてあるのかなぁ.ちょっと不思議ですが,きちんとアップグレードされるようなので良しとします.
- その他のファイルのコピー
/extlib , /lib などなどを上書きコピーします.ぼくは目的別に幾つかのディレクトリに分けているため多少手順が複雑ですが,普通の構成であれば単純なコピーでいけるはずです.
移行は完了したのですが,案の定幾つかの問題が発生しました. まだ PostgreSQL での recently_commented_on は直ってないんだね. いい加減なんとかしてほしいところです. 以下が今回行った修正になります.
- PostgreSQL での recently_commented_on
MT-3.121-full-ja-recently_commented_on.patch
PostgreSQL で MT を使っている方は気付くんじゃないかと思うのだけれど,最新のコメントが取れない問題を修正するパッチです.かなり泥臭いコードで SQL の実行効率が悪いけれど,MT のお作法とスキーマ設計のせいでイマイチ良い解決法が見つかっていません.
- コメントのハイパーリンク
MT-3.121-full-ja-hyperlink.patch
コメントに "http" からはじまる文字列があると自動的に <a> で囲んでくれますが,これをそのままにすると横幅が大変なことになります.これを "<LINK> で決め打ちにすることで解消するパッチです.
- <input type="image"> 対応
MT-3.121-full-ja-image_button.patch
コメントの投稿ページを type="submit" ではなく type="image" にした場合でも動作するようにするパッチです.
- アップグレード用パッケージの DL
registCommentコメントを登録する麦酒堂ではコメントスパムを防止するために,いただいたコメントは管理人が手動でサイトに反映しております. 反映までしばらく時間がかかりますので予めご了承ください. - データのバックアップ