バージョンアップ失敗期間
Movable Typeの3.0→3.1移行にものの見事に失敗しているわけですが、現時点での問題は
- コメント登録後の画面表示がコケる(登録自体は出来る気がする)
- ダイナミックパブリッシングを使ってるとテンプレート保存時にコケる
- もう胃が痛い
- 正直後悔している
となっています。
テンプレート保存時の同じような問題について記述しているサイトがあったので期待しては見たものの、みんなPostgreSQLでした。えー。MySQLで困っている人はワタシだけ?
オブジェクトの保存に失敗しました: Update failed on SQL error You have an error in your SQL syntax near ' template_created_on = '20040101000000', template_created_by = NULL, template_mo' at line 2
これだけ見ても分かりませんよ。
まあ、そういったことも含めて、諦めました。入れ直すか?
結局入れ直したわけですが、コメント登録後の問題は解消しましたが、テンプレート保存時の問題は依然そのまま。カラム`template_build_dynamic'が0のテンプレートが保存出来ないみた。ってだからどうしろってのよ。
実行されるsqlとにらめっこした結果、DBIのbind_paramでtemplate_build_dynamicが設定されず不正なsqlになる(ような気がする)ので、DBI.pmを書き換えて回避。Template.pmのカラム定義を変えるのはちょっとおっかない気がしたので。まあ、該当箇所を通るときはtemplate_build_dynamicの値を書き換える必要はない(ハズだ、と思いたい)ので強制的に空に設定。
*** ../../../../MT-3.11-upgrade-ja/lib/MT/ObjectDriver/DBI.pm Sat Oct 30 00:33:34 2004
--- DBI.pm Sun Oct 31 02:07:04 2004
***************
*** 279,284 ****
--- 279,286 ----
$val = $driver->ts2db($val);
}
my $attr = $driver->bind_param_attributes($type);
+ # temporary-fix :-(
+ $val='' if ($col eq 'build_dynamic');
$sth->bind_param($i++, $val, $attr);
}
こんな感じで。
とりあえず保存出来る用になったので、これで様子見。
大失敗。該当箇所を通るときにtemplate_build_dynamicの値を書き換える必要があった。いつの間にか全部スタティックになってた。追加分は以下の方が幸せな気がする。
if ($col eq 'build_dynamic') {
$val = 0 if (defined($val) && $val != 1);
}
トラックバック(7)
このブログ記事を参照しているブログ一覧: バージョンアップ失敗期間
このブログ記事に対するトラックバックURL: http://mho.s1.xrea.com/x/mt/mt-tb.cgi/1188
Movable Type 3.1も出たことだしそろそろlivedoor Blogから移行するか、と新規インストール→ダイナミックパブリッシング(動的生成のこと)... 続きを読む
どうせだからPHPにしてしまえとばかりにやってみたダイナミックページ化なんだけ... 続きを読む
Movable Type 3.1も出たことだしそろそろlivedoor Blog... 続きを読む
どうせだからPHPにしてしまえとばかりにやってみたダイナミックページ化なんだけ... 続きを読む
現在、ダイナミック・パブリッシングと言う機能を使って動かしてます。 ただ、若干問... 続きを読む
Movable Type 3.1以降ではダイナミックパブリッシングという新機能が... 続きを読む
Movable Typeを設置して、さてテンプレートでもいじるかと思ったらいきな... 続きを読む
はじめまして。夜行です。
MySQLの方でもアップデートにトラブルありですか。
あまり参考にならなかったみたいで残念ですが、その後なんとかなったみたい
で一安心です。
いや、問題を考える取っ掛かりになったので助かりました。
わざわざ修正を教えていただいてありがとうございます。すんごい助かってます。
しかしこの問題はあまり巷にでてないせいかシックスアパートも動かないですねー。早く対処してほしいものです。
Nice site. You are doing a great service to the web.
best online casinos
I like your blog. It is a very interesting one. when TV is cosmos it will win opponents
As the young hunter sat.