Home » Web Tool » あれ?ブログの記事が日付順に並んでいないよ

あれ?ブログの記事が日付順に並んでいないよ

blog image 20100619

Movable Typeのバージョン3.xから4.2x時にアップした記事の、月別アーカイブの記事が日付順に並んでいないことに気がつきました。

もう少しよく見てみたら、いくつかの記事でEntryID(記事のID、トラックバックの mt-tb.cgi/n にもなるやつ)がアップした順に振られていません。

月別アーカイブやカテゴリーアーカイブは、EntryID順に降順(または昇順)で並ぶ訳ですから、EntryIDがぐちゃぐちゃになっていたら、そりゃ日付順に並びませんね。

1月の記事は1月のアーカイブに表示され、前の月の12月や次の月の2月のアーカイブに表示されている訳ではないのでそれほど問題では無いのですが、アップした記事が前後するのは気持ちが悪いことは気持ち悪いので、ちょっと嫌だなって。

思い当たることといったら、M5に移行するときにブログを分割したことです。

MT4.2xから、MT5にする際に行ったこと

データベースはSQLiteを使用していました。MT5からSQLiteをサポートしなくなったため「SQLite / PostgreSQL から MySQL への移行 | Movable Type 5 ドキュメント 」を読んだのですが、大変そう。

そこで、MT4.2xのディレクトリ(フォルダ)とは別のディレクトリにMT5のプログラムをアップしそちらに記事を移すという、ちょっと面倒かもしれないけど問題なくできそうな、確実な方法を選びました。

その際に、Movable TypeのカスタマイズネタやWeb関連のものは、「blog_id=2」へ、少ないけど猫関連の記事は「blog_id=3」と移しました。

これまでのMT4.2x(SQLite)で行ったこと

  1. 「blog_id=1」の記事データをエクスポート
  2. 「blog_id=2」と「blog_id=3」の2つのブログを作成
  3. 「blog_id=2」と「blog_id=3」で、「blog_id=1」の記事データをインポート
  4. 「blog_id=1」でWeb関連と猫関連の記事を削除
  5. 「blog_id=2」でWeb関連以外の記事を削除
  6. 「blog_id=3」で猫関連以外の記事を削除
  7. 「blog_id=1」、「blog_id=2」、「blog_id=3」の記事をエクスポート

MT5に移行した手順

  1. 別ディレクトリに、データベースをMySQLで設定したMT4.2xを設置
  2. 「blog_id=1」、「blog_id=2」、「blog_id=3」のブログを作成し、各テンプレートを設定
  3. 旧MT4.2x(SQLite)の記事、「blog_id=1」、「blog_id=2」、「blog_id=3」をそれぞれインポート
  4. MT5にアップデート

まずMySQLのMT4.2x設置したのはなぜか

なぜMySQLのMT4.2xをまず設置したのかというと、別のディレクトリにMT5を設置し、各ブログを作成しようとしたら、自分の望んでいるサイト構成にできませんでした。

こんな感じに、それぞれ別のサブドメインにしたかったのに、

ウェブサイト「www.char-aznable.com」
ブログ「blog.char-aznable.com」
ブログ「memorandum.char-aznable.com」
ブログ「chatte.char-aznable.com」

MT5は、「ウェブサイト」の下に「ブログ」がぶら下がる格好のため、こんな感じになってしまいました。

ウェブサイト「www.char-aznable.com」
ブログ「www.char-aznable.com/blog」
ブログ「www.char-aznable.com/memorandum」
ブログ「www.char-aznable.com/chatte」

なのでいったんMT5を設置したのに削除し、MT4.2x(MySQL)を設置、ブログを全部移行後、改めてMT5にアップデートしたのでした。

もう、一日作業でしたよ。

さて、MT5にして約半年。バージョンも5.02にして特に問題なく使用していたはずなのに、今になって、MT5以前の記事のEntryIDがおかしくなっていて、そのせいで月別アーカイブの記事が日付順に並んでいないことに気がついたのでした。

なにか害がある訳ではないので、うん、まぁイイっちゃぁイイんだけど。記事をアップした後から日付を替えたようにも見えるので、ちょっと嫌かなって。

Comments

ブログのTwitterへの更新通知は「PostTwiOauth」を使うことにしました | Main Index | 『TypePad Micro』と『posterous』を使ってみて

Elsewhere

track feed

posterous Status