スポンサーサイト

2013.09.14 Saturday by スポンサードリンク|-|-|-

一定期間更新がないため広告を表示しています

MySQL移行失敗、そしてMT再構築エラー

2005.07.26 Tuesday 07:07 by abetomoMovableType|-|-


ブログ移転するかも」の続き。




エラーが起きたりしなければいずれ移転すると思います。




なんて軽く言っていたけど、やっぱりそう簡単にコトは進まなかった・・・。



このココログ版「写真な日々」と同じレイアウトにしようと、インデックスやアーカイブのテンプレートはすぐ書き換えたんだけど、これだけではサイドメニュー(最近書いた記事リストが並んでいる右側メニュー)の「オススメ」などを更新したいときはいちいちテンプレートを書き換えなければならない。やっぱりサイドメニューは共通化して、更新を楽にしたいと思った。



それにはインクルードだろう、ということで調べてみると、MTIncludeを使う方法やSSIのインクルードを使う方法、phpを使う方法など、やり方はいくつかあることが分かった。



一番手っ取り早いのはMTIncludeなんだけど、これだとサイドメニュー単体を更新しただけではブログに反映されない。サイドメニューが入っているアーカイブを再構築しなければ、最新の状態にならないのだ。しかしそれじゃあ意味がない。そもそも再構築を避けたくてインクルードにしようと思っているわけだから。



SSIのインクルードを使うこともできるけど、ウチのサーバの場合、拡張子を.shtmlにしなければならないので、なんとなくダルい。それにどうせなら、ページ分割とか、ココログではできないことをしてみたいと思った。



というわけで、思い切ってphp化してみることにした。



まずはMySQLへの移行作業。データベースを作って、mt.cfgとmt-db-pass.cgiを書き換えるところまではうまくいった。



そしてmt-db2sql.cgiにアクセス。が・・・なんか途中で止まってしまった模様。もう一度mt-db2sql.cgiにアクセスしてみると、こんなメッセージが出た。




Table 'mt_author' already exists at mt-db2sql.cgi line 53.




「mt_author」というテーブルはすでにあるよ、というエラーらしい。検索してみたら、やはり同様のエラーでMySQL移行に失敗した例が出てきた。



それによると、どうやらカテゴリを階層化しているとエラーが起きるらしい。それから、mt.cfgの「DataSource ./db」の先頭に「#」は付けないほうがいいらしいということも。



しかしMT関連のテーブルを削除してやり直したらうまくいったという例もあったので、とりあえずそのようにしてみることに。ついでにmt.cfgの「DataSource ./db」から「#」を外して転送し、再びmt-db2sql.cgiにアクセス。・・・また失敗。



むう。やっぱり、カテゴリを全て親カテゴリにしておかないとダメなのか?



そこで、もう一度MT関連のテーブルを削除してからMTにログインしてみた。するとログインはできたものの、テンプレート編集画面やエントリー投稿画面やカテゴリー編集画面へのリンクがなくなっていた。これでは、カテゴリの設定を変えることもできない。



たぶん、テーブルを削除しちゃったから、どこにもデータベースがない状態になってしまったんだろう。

(ちなみに、ブログ自体はちゃんと見えていて、表示がおかしくなったりはしていなかった)



面倒くさくなったので、最初からやり直すことにして、MySQLのデータベース自体を削除した。mt.cfgも最初の状態に戻して、それからまたMTにログインすると元通りになっていた。



なーんだ、最初からMovableTypeをインストールし直さなくても済んだぞ。



と喜んだのもつかの間のこと。



この前ココログから全記事をインポートしたんだけど、あれを少し減らしてから移行作業をしたほうがデータ量も少なくていいだろう、と思って100件くらい削除したら、今度は再構築時にエラーが出るようになってしまったのだ。




An error occurred:

Can't use an undefined value as a SCALAR reference at lib/MT/Template/Context.pm line 780




何度再構築をかけても、こんなメッセージが出て動かなくなってしまった。新規エントリーを投稿しても同じエラーが出るし、たぶんテンプレートを再構築しても同じだろう。



うぎゃー、本当に壊してしまった・・・。



「Can't use an undefined value as a SCALAR reference」で検索してみると、やはり対処法がいくつか出てきたんだけど、どうもみんなデータベース関係のエラーらしく、私のとは少し違うみたいだ。




at lib/MT/Template/Context.pm line 780




という部分からすると、テンプレート関係のエラーだとは思うんだけど・・・同じ状況の例が見つからない。



これはやっぱり、MTのインストールからやり直しか〜?



このエントリーは

投稿クライアントの「BlogWrite」

により投稿されました。

スポンサーサイト

2013.09.14 Saturday 07:07 by スポンサードリンク|-|-|-


profile

最近の記事

写真たち

abetomo
携帯百景 - abetomo
www.flickr.com

息子の本棚

カテゴリ

アーカイブ

最近のコメント

  • はじめての運動会
    sea
  • 育児の悩み:トイレトレーニング編
    Horka
  • ナナン、落ちる
    sea
  • 明日は入園式
    abetomo
  • 息子、突発性発疹にかかる
    突発性発疹.com
  • 1歳になりました
    abetomo
  • 1歳になりました
    abetomo
  • 生後10ヶ月
    abetomo
  • 怒涛のように過ぎた8月
    abetomo
  • 怒涛のように過ぎた8月
    abetomo

リンク

search this site.

others

sponsored links

powered

無料ブログ作成サービス JUGEM