« 逆転裁判4みぬきペーパークラフト | メイン | A-bike購入 »

MovableTypeのblog_idについて

14日にペーパークラフトを公開して、数日後に違うエントリー(日記)を投稿しようと思いブログ(MovableType)にログインしても、ブログ一覧が表示されないという事態に。
以前にもあった事なのだが、blog_idの認識がうまいことされてないという感じ。
データベースの中身を直接いじろうと思ってもBerkley DBを使用しているのでいじり方がよくわからない。

ということでブログに関するデータをすべてBerkley DBからMySQLに移し変えてみた。
参考にしたのは以下のサイト様。
お知らせ・ブログ復旧作業が終わりました (M. H. Square.)

少し手間取ったものの、キチンと投稿できるようになった。
詳細は以下に。

1.データベースのフォルダ(db)とテンプレートをバックアップ
2.mt-config.cgiを、Berkley DBとMySQLの設定を有効にするように書き換える。
3.mt-db2sql.cgiにアクセス。

しかしここでエラーが出た。
MySQLにテーブルを構築して、MT::Author(日記投稿者)の情報をコピーするまでは出来たらしいけど、MT::Blogの情報をコピーする際に「blog_nameにNullは使えないよ!!」と出た。
Berkley DBのままだったらそんなデータがあった事にさえ気づかなかった…。

そこでとりあえずMySQLにアクセスして、mt_blogテーブルのblog_nameカラムをnullを許すようにしてから再度mt-db2sql.cgiにアクセスしてみる。するとmt-db2sql.cgiがまたテーブルを再構築してしまいカラムの設定がまたnot_nullになってしまったらしい。もちろん同じエラーが。

データベース構造はすべて構築されているらしかったので、mt-db2sql.cgiの中のデータベースを構築する部分(「Loading database schema...」周辺)をコメントアウトして、Nullっぽい物をprintしようとする部分(87行目らへん)もコメントアウトして再度やってみた。

できたー。

mt-config.cgiを、MySQLのみ使用するように書き換えて、MySQLのさっきの部分をnot_nullに戻して、mt_blogテーブル内になぜか増えていた不要なデータを削除して完了。(blog_idは1しか使ってないはずなのに4があった)

また同じようなことが起きませんように。

トラックバック

この一覧は、次のエントリーを参照しています: MovableTypeのblog_idについて:

» お知らせ・ブログ復旧作業が終わりました 送信元 M. H. Square.
 ずいぶん時間がかかってしまいましたが、ようやくブログの復旧が終わりました。毎日... [詳しくはこちら]

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)