スポンサードリンク
湾スタ内検索

›2005年05月18日
人気ブログランキング

サイト移転への道 - Movable Type編

by 178M at 23:39 / Category: etc / 0 Comments / View / 0 TrackBack

スポンサードリンク

今回の移設で難しかった点は同じドメインで移設した点でした。

Movable Type(以下MT)にはデータベースがあります。
そのデータベースでは今まで投稿したエントリやカテゴリー、テンプレートの管理などを行っています。

スムーズに移転するには新旧2つのデータベースが見える必要があります。
本来なら旧データベースの内容を完全にバックアップして移行を行えばスムーズに進んだものと思います。

でも今回はバックアップを取る前にDNSを切り替えてしまいました。
あわわ(-_-メ)大変!!


つまり古い旧データベースにはアクセスできなくなってしまったのです。
新データベースはこの時点では空。
バックアップもありません。

途方にくれ天を仰ぎましたが、仕方ありません。この状態で移設作業を進めます。

どうする?と悩みましたがふとしたことから旧DBへのアクセスができることを発見。

それはDBサーバーが別にあることに気づき、移転先のドメインでなくともアクセスできることを発見したことに始まります。

つまり別ドメインの領域にMTの設定ファイルなどをコピーしその別サーバからアクセスを試みたのです。

すると運よく成功。
旧DBの中身が見えるようになりました。
正直ほっとしました。

ここまでくれば後は慎重に作業を進めるだけ。

テンプレートやカテゴリーを慎重にコピーし旧DBから新DBに移していきます。

この間、Blogの設定で個別エントリのファイル名を変えることを忘れず行います(前からやりたかったことです)。

個別エントリーアーカイブの形式をこのように変えました。
<$MTArchiveDate format="%Y/%m/%d%H%M%S"$>.php
変換するとこうなります、「年/月/日時分秒.php」。

そしていよいよデータのインポート。
まずはあらかじめエクスポートしておいたデータをMTのimportディレクトリに放り込みます。

次に「エントリーの投稿者を自分にする」にチェックをし、「デフォルトの投稿の状態」を”公開する”に設定してインポート開始。

無事インポート完了。

前から気になっていたrecently_commented_onのバグ。
最近のコメントが古い記事に対して反映されないバグに対応。
半ば諦めながらcontext.pmを以下のように修正したら正常に古い記事についたコメントもトップに反映されるように。

} elsif (my $n = $args->{recently_commented_on}) {
    $args{'join'} = [ 'MT::Comment', 'entry_id',
    { blog_id => $blog_id },
    { 'sort' => 'created_on',
    direction => 'descend',
    unique => 1,
    limit => $n } ];
    $no_resort = 1;
}

何か元に戻しただけのような気もするけれど、とにかく思わぬバグFixに喜ぶ。

最後はファイル名を変えてしまったのでリンク切れの記事に対応。

Googleなどは新しいページを勝手に拾ってくれると判断して、今回は.htaccessによるリダイレクトはしないことに決定。以上放置。

また一からのスタートです。
応援よろしく(^^ゞ

blogランキング


人気ブログランキング


スポンサードリンク
Comments
Post a comment












名前、アドレスを登録しますか? 
このエントリーに返答があったらメールで知らせる: