Template.pm

| コメント(0) | トラックバック(3)

MovableType3.11-jaにアップグレードして色々いじってみたのだが、なんかテンプレートの保存をしようとすると

オブジェクトの保存に失敗しました: Update failed on SQL error ERROR: date/time field value out of range: "0000-00-00 00:00:00"
Use of uninitialized value in unpack at /var/www/hogehoge/lib/MT/ObjectDriver/DBI/postgres.pm line 13.
Argument "" isn't numeric in sprintf at /var/www/hogehoge/lib/MT/ObjectDriver/DBI/postgres.pm line 13.

って言うエラーが出るようになってしまった。
postgres.pmの該当する行には、

sub ts2db {
sprintf '%04d-%02d-%02d %02d:%02d:%02d', unpack 'A4A2A2A2A2A2', $_[1];
}

ってのがあって、どうもここに正しい値が渡ってないという事は分かるんだけど、この関数どこから呼んだときに問題が起こるのかが分からない。
エントリーの追加のときとかはエラーが出てないのでテンプレートの変更に関する記述を重点的に調べればいいのだろうけど・・・
PostgresSQLのエラーログにも確かにそういうエラーが出ているけどこれだけではなんとも。

とりあえずlibディレクトリをだけを3.01に戻してみてエラーが出ないことを確認。やはりlib/MT/Template.pm、lib/MT/TemplateMap.pm、lib/MT/Template/Content.pmが怪しいよなと言うことで、1つずつバージョンを変えてみて原因特定作業をすすめる。
その結果悪いのはlib/MT/Template.pmであると。(TemplateMap.pmは変更されてなかった)
diffをとると

4c4
< # $Id: Template.pm,v 1.45 2004/08/25 02:06:40 ezra Exp $
---
> # $Id: Template.pm,v 1.42 2004/04/29 02:42:57 ezra Exp $
29c29
<         'rebuild_me', 'build_dynamic'
---
>         'rebuild_me',
35d34
<         build_dynamic => 1,
37d35
<     audit => 1,

これもまた1つずつ試してみた結果、最終的に

    audit => 1,

をコメントアウトすることで問題解決。まずは一安心と言うところだが、この行ってコメントアウトしちゃって問題ないんでしょうか・・・

根本的な解決方法を教えてくださった方がいるのでそちらの方法を結局採用。
2004/11/01追記

トラックバック(3)

トラックバックURL: http://www.sanzai.net/mt/mt-tb.cgi/161

さてそろそろ本腰を入れてCSSをいじろうと思ったら エラーが発生してCSSの保存ができないではないですか! 内容は↓ date/time field valu... 続きを読む

Movable Type 3.01D-ja → 3.11-ja にアップデートし... 続きを読む

タイトル長いなぁ。 先日MTを3.11にバージョンアップしたのですが、基本的には問題ないと思っていた。 ところが、テンプレートを直そうとしたら オブジェクトの保... 続きを読む

コメントする

ウェブページ

2014年6月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

アーカイブ

Powered by Movable Type 5.17-ja

このブログ記事について

このページは、散財人が2004年10月20日 04:20に書いたブログ記事です。

ひとつ前のブログ記事は「MovableType3.1日本語版提供開始」です。

次のブログ記事は「Windows Media Player 10」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。