2007年9月24日

テンプレートをバージョン4.01構成へ変更

MovableTypeバージョン4ではブログ記事ではないウェブページの作成ができる。
しかし私の環境で試しにやってみたところ、「保存しました」との表示は出るが実際にファイルは生成されなかった。
私はファイルが生成されない原因はテンプレートの問題だと考えた。
というのは、バージョン4.01で新規にDBを初期化すると、”ウェブページ”や”ウェブページの詳細”というテンプレートが存在するが、私の環境ではバージョン3系から何度もバージョンアップしている為、テンプレートの構成は最新になっておらず、これらのテンプレートが無かったからである。
最近のバージョンではテンプレートの初期化が行えるが、これはあくまでも元のテンプレートがあった場合に内容を初期化するものなので、旧バージョンから移行していてテンプレートの構成が異なっている場合にはそのまま使うことはできない。
というわけで以下の作業を行ってみた。

・別サーバでバージョン4.01をDB新規で立ち上げる
・現状のシステムのテンプレートを削除し、上記を参考にして内容が空のテンプレートを作成する
・空のテンプレートを全て初期化する
・アーカイブテンプレートの3つに関しては、アーカイブマッピングを作成する(これをやらないとウェブページどころかアーカイブが全く生成されない)

これにより、テンプレートはバージョン4.01相当となり、ウェブページも生成されるようになった。
ただ、”システムテンプレート”は名称等が微妙に異なっており、phpMyAdminから直接DBを操作して合わせたりする作業を行ってみた。
これはこれで問題なかったのだが、気持ち悪いので以前に失敗した、phpMyAdminでテンプレート関係を全て入れ替える作業を再度やってみる。
前回は mt_template のみ、一旦テーブルを削除し入れ替えたが、mt_template_mapからmt_templateを参照していることがわかったので、この2つを入れ替えることにする。
つまり、

・バージョン4.01をDB新規で立ち上げたものから、データをエクスポートし、mt_template、mt_template_mapの部分だけを取り出す
・mt_template、mt_template_mapを削除
・上記で取り出したmt_template、mt_template_mapをインポート

という作業を行った。
動作は問題なく、再構築も正常に行うことができた。