- 2005-02-25 (金)
- Movable Type
iandeth.のMovable Typeを2.661 → 3.151にアップグレード。時代に足並み揃えてみました。動機は特に無し、なんとなく... だったのに、アップグレード作業にえらい手間取る始末。割に合わないよ(汗)。というわけで、出くわした障害とその対策をご紹介 :
Upgradeパッチが PostgreSQL 7.1.3 に対応していない
mt-upgrade31.cgi にて実行されるテーブル定義の更新SQLが、うちのサーバで使ってる古いバージョンのPostgreSQLに対応してなかった。以下参考になったSaltyDogの犬小屋さんの書き込みより:
PostgreSQLがver7.2.3以前の場合、SQLのalter文で項目のNOT NULL制約は変更できない
PostgreSQLのバージョンを上げれば解決なんだろうけど、面倒くさかったのでより簡単な解決法として
データストアを PostgreSQL から BerkleyDB に戻す
事でUpgradeパッチの障害を回避する事にしてみました。OGAWA::MEMORANDAさんの「mt-sql2db.cgi: mt-db2sql.cgiの逆変換CGI」を拝借してサクッと変換。同CGIの中身をちょろっと見てみたんだけど、Movable type API の MT::Object ってのを使えばこんな処理も簡単に書けるのね。便利ー。
デフォルトで入ってるはずのテンプレートモジュール「Remember Me」が存在しない
Upgrade後に、別途入手した MT3.1用の最新テンプレートを用いて個別アーカイブを再構築したら「<MTInclude>エラー : Remember Me テンプレートが無いよ」と怒られる。Googleで同症状を調べてみたら、同じように困ってる方がちらほら。原因は Xrea.comさんのサーバー応用編 さんの記述通り:
Movable Type 3.01D日本語版(および、英語 3.11バグフィックス版)まではjavascriptが挿入されていましたが、日本語版 3.11(および、英語版 3.12)からデフォルトでモジュールのタグ単独となっています。
今まで テンプレートソースべた書きだったjavascript記述がver3.xからはテンプレート・モジュールとして切り出されているようで。Upgradeパッチはこの辺も対応しておいてくれると嬉しかったなぁ。別途新規作成したBLOGのテンプレート管理画面から、同モジュールを移植する事で解決。
Movable Type ログが正常に動作しない
管理画面メインメニューから遷移できる「Movable Typeログの確認」画面にて、画面下部に大量のエラーメッセージが出る、Upgrade後のすべてのログが正常に書き込まれない、等などのログ周りのトラブルが起きていた。おそらくMT2.xの旧ログ情報が、正しくMT3.xのログ形式に変換されていない為、かと。深く考えず、ログ確認画面の「ログを消去」ボタンで過去ログを全消去してしまえば、以降正常動作に戻る。
有料版ライセンスを購入したのにユーザ追加ができない
Upgrade後に管理画面から新規ユーザ登録しようとすると、強制的に現ユーザアカウントが1つ削除され、ログイン画面に戻ってしまう。挙動的には限定個人ライセンス版(1ユーザ限定版)のMovable Typeにて、ユーザを強引に追加しようとした場合の挙動なのかと。ライセンス認証とかシリアル番号入力?とか、MT3.x のそもそものライセンス管理方法をよく把握していないので、とりあえず放置。基本的に俺+嫁の2人しか使わないだろうし。いざとなったら、有料ライセンスユーザの特権「サポートセンター」に頼ってみようかな。
トラックバックを受けた際に各種情報が記録されない (02/28 追加)
日時情報と概要情報がNULLの状態トラックバック情報(mt_tbping)が保存されてる模様... 現状、トラックバックを受ける際に送信元にエラーが返るようです。さらに <$MTPingDate$>タグを使っていると、エントリHTML再構築時に「
※以上、なんか異様に疲れました...
- Newer: 豊天商店 萌えTシャツ をゲット
- Older: Firefox - お勧め&便利な拡張機能(エクステンション)
Comments:2
- curry 2005-02-26 (土) 00:31
-
うちも気になっていたMT3.Xへのバージョンアップですが
このエントリを見て当分見送ることにしましたわ。>データストアを PostgreSQL から BerkleyDB に戻す
って何のためのアップグレードだか。
更新処理速度にモロ影響しそうですね。
うちはそこそこエントリ数貯まっているのでコワイですわ。
- bashi 2005-03-02 (水) 13:37
-
> curryさん
1) BerkleyDB に戻す
2) MT2.6 > 3.1 にUPGRADEここからさらに...
3) MT3.1 upgrade パッケージに付属の mt-db2sql.cgi を使って
BerkleyDB > 新バージョンの Postgres / MySQL に移植てな手順でうちは MySQL に移行させる想定なんです。
面倒くさい事にはかわりないけどね。