28, 2005

Berkeley DBからMySQLに移行する際のエラー


今日は株ウォーカーニュースをMySQLに移行した。

今まではBerkeley DBを使っていたのだが、いつDBが壊れるか不安になって、MySQLに移行した。
DBが壊れるとMTは全て無くなってしまう。
もちろんHTMLファイルは残るが、新たに記事を投稿することも、何をすることもできなくなる。
株ウォーカーニュースでも残しておきたい記事も増えてきたので、MySQLに移行することにしたのである。

DBとしては、Berkley DBよりMySQLの方が信頼性は高いだろう。
その他、リビルドの速度に不満があったりするのだが、これはMySQLにしても劇的には変わらないか...。
これはテンプレートのPHPモジュール化しないと駄目だろう。
いずれ手をつけるかもしれない。

さて今回のMySQL化だが思わぬエラーでてこづった。
MTのMySQL移行の詳細はロリポップのマニュアルにまかせるとして、実際にエラーになったところから話を進めよう。

一言言っておくと、MTのMySQL化は今回が初めてではなく、何度か経験がある。

それではエラーに話を戻そう。
DBを作り、そこに対する接続の設定をmt.cfgにした後、mt-db2sql.cgiを実行した。
すると以下のようになった。

Loading database schema...

Loading data...
MT::Author
    1
    2
    3
    4

MT::Blog
    3
    4
    6
    7

MT::Category
    10
    11
    14
    15
    16
    17
    18
    19
    20
    22

An error occurred while loading data

エラー発生って...何も原因が書いてないじゃないか!!
これではわからない。
しかしインターネットは便利だ、調べていたら答えにたどり着いた。

MT3からサブカテゴリが作れるようになったがこれがいけないようだ。
というわけでサブカテゴリをトップレベルカテゴリに直す。

そしてmt-db2sql.cgiを再実行。
今度は成功だ。

Done copying data from Berkeley DB to your SQL database! All went well.

このメッセージが出れば成功、安心だ。
うまくいってほっとした。
今回はかなりてこづった...まるで難解なパズルを解いた後の様だ。


投稿者 strawberrywine : 28, 2005 02:25
コメント

この点については、

Movable Type3.17-jaで修正されているようです。
修正項目にリストアップされていました。

・Berkley DBの環境下でサブカテゴリを利用しているウェブログを、MySQL/PostgreSQLへ移行できない不具合を修正

Posted by: 178M : 16, 2005 05:20
コメントする









名前、アドレスを登録しますか?

このエントリーに返答があったらメールで知らせる: