SQLiteに移行

○概要
Movable TypeのバックエンドをBerkleyDBからSQLiteに変更した。基本的に面倒くさがりなので、移行作業なんて出来ればやりたくないんだけど、MT 3.2-ja-2のDB再構築があまりにも遅いので。というか遅いだけならまだしも、メモリ使用量が多すぎなのでやむを得ず。
移行には小川さんという方が作った移行ツール(mt-db-convert.cgi)を使用。他の人のコメントとか見てると全く問題ないというのばっかりだったけど、自分の所では問題があった。この問題が移行ツールの問題なのか、自分のサイトの問題なのかはよく分からないけど、何とか対処したのでそのメモ。
手順としては
・必要なパッケージのインストール
・バックアップ
・データの移行
○環境
Fedora Core 3
Movable Type 3.2日本語版Release 2 (3.2-ja-2)


○手順
・SQLiteのインストール
perl-DBIはパッケージに含まれている。

# yum install perl-DBI

Fedora ProjectのページからDownload -> Download Server -> extrasを辿って、以下の2つをダウンロード&インストール。最新バージョンが出てたらそれを入れる。
sqlite-3.1.2-0.4.i386.rpm
perl-DBD-SQLite-1.11-1.fc3.i386.rpm
・バックアップは適当に
・データの移行の詳細な方法は他のページを参考に
○問題とは?
移行後に同じ機能を持つテンプレートが複数出来てしまう。
トラックバック一覧テンプレートが2つあるせいか(?)再構築が失敗する。
例えば、メインページのテンプレートは「Main Index」という名前だけど、移行後に「メインページ」というテンプレートが新たに作成されている(中身はデフォルトテンプレート?)。本来あるべきテンプレートがないという判断で作られたのだと思うけど、再構築したらサイトの見た目が大幅に変わっていてびっくりした。
○対処法
上記の例で言えば、テンプレートの編集で「Main Index」の中身を「メインページ」にコピーして保存。「Main Index」は削除する。
これで大体OKだけど、システムテンプレートは削除できないので中身を空にして保存する。
○考察
自分は2.6位からアップグレードを繰り返しているから、そのせいかもしれない。途中のバージョンでテンプレート名が変わったんだと思う。MTのアップグレードインストールではその辺はちゃんと対処されてるけど、移行ツールではその辺が考慮されていない?
とりあえずこれで様子見。
ちなみに、標準の移行ツールも試してみたけど同じ現象だった。速度はmt-db-convert.cgiが圧倒的に速い。お勧め。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です