« 超弩級プロポーショナルシステムT14MZ | メイン | PSP発売日・価格発表 »

2004年10月26日

[ blog ]

template_modified_on

MT3.1にして以来テンプレートを保存しようとするとエラーがでてしまうので、Perlソースを一部コメントアウトして対応していたのだが、何か副作用がありそうで気持ち悪いものがあった。
そしたら今日トラックバックを受けたサイトに興味深いことが書いてあるではないか。

どうやらMTバージョンアップに失敗(仕様?)のようで PostgreSQL特有の問題のようす・・
夜行Blog様によると日付フォーマット云々が関係しているとか そういえばPostgreSQLってtimestampの仕様がバージョンによってかなり違うよねぇ
ということで夜行Blog様の案を採用! 散財流生様はソースを追いかけられて凄そうなのだけれど ほかの影響が怖いので見送ることに

おお、もっとスマートな方法があるのか、ということでTBしてくれたやなぎもの糯さんに感謝しつつ、夜行Blogをみてみる。

夜行Blog: MovableTypeアップデート失敗っぽいその後

恐らく元のデータを読み込んだんだけど値が入っていないため日付のフォーマットを整える関数に引数としてブランクを渡してしまい、その結果0000-00-00 00:00:00なんて値を格納しようとしてエラーになっていたのではないでしょうか。(根拠なし)
というわけでもし僕と同じような現象にぶちあたってお困りの方がいらっしゃいましたらmt_templateのtemplate_created_onとtemplate_modified_onのフィールドに現在の時刻でも格納してあげると解決するかもしれません。おそらくこのフィールドはテンプレートが作成された日付と修正された日付が格納されているものと思われます。

ふむふむ。早速psqlコマンドでPostgreSQLに接続して街頭箇所にインサート。

$ psql blogdb
blogdb=# select template_modified_on from mt_template;
template_modified_on
----------------------

(中略)

 2004-10-20 00:52:09
 2004-10-20 00:52:09
(18 rows)

確かにtemplate_modified_onとtempalte_create_onの最初の16列はそれぞれ空列になっている。そこでとりあえず現在時刻で上書き

blogdb=# UPDATE mt_template SET template_created_on = '2004-10-26 02:09:00' ;
UPDATE 18
blogdb=# select template_created_on from mt_template;
 template_created_on
---------------------
 2004-10-26 02:09:00
(中略)
 2004-10-26 02:09:00
(18 rows)
blogdb=# UPDATE mt_template SET template_modified_on = '2004-10-26 02:09:00' ;
UPDATE 18
blogdb=# select template_modified_on from mt_template;
 template_modified_on
----------------------
 2004-10-26 02:09:00
(中略)
 2004-10-26 02:09:00
(18 rows)
blogdb=# \q

で、Template.pmを元に戻した上で、試しにテンプレートを更新してみると今までの問題発生がウソの様に問題なく更新できる。すばらしい。

しかし、やなぎもの糯さんや夜行さんも言ってるけど、このくらいアップデートスクリプトに仕込んで自動で上書きするようにしておいてくれよ・・・

投稿者 散財人 : 2004年10月26日 02:11

Google Search Result

  • Search : 0) { $query = "select template_text, template_modified_on from mt_template where
    template_blog_id = $blog_id and template_id = $tpl_name"; ...
  • Search : 0) { $query = "select template_text, template_modified_on from mt_template where
    template_blog_id = $blog_id and template_id = $tpl_name"; ...
  • Movable Typeで検索がとっても遅い場合は - hama.biz : ... template_meta, template_modified_by, template_modified_on, template_name,
    template_outfile, template_rebuild_me, template_text, template_type ...

Trackback Pings

このエントリーのトラックバックURL:
http://www.sanzai.net/mt-tb.cgi/184

このリストは、次のエントリーを参照しています: template_modified_on:

» そもそも初期インストールに失敗していた from mega green oasis +
Sanzaininさんからコメントして頂いたご自身のエントリーや、 夜行Blog... [続きを読む]

トラックバック時刻: 2004年10月31日 13:47

» MovableType+PostgreSQLで3.11にバージョンアップするとテンプレート修正でエラー from waterbird.jp BLOG
タイトル長いなぁ。 先日MTを3.11にバージョンアップしたのですが、基本的には問題ないと思っていた。 ところが、テンプレートを直そうとしたら オブジェクトの保... [続きを読む]

トラックバック時刻: 2004年11月16日 15:26

» MT 3.2へとアップグレード from waterbird.jp BLOG
#このblogへ久々にエントリーするな… Movable Typeユーザーの皆様... [続きを読む]

トラックバック時刻: 2005年10月11日 08:13

コメント

TBありがとうございます。問題解決したみたいで何よりです。

投稿者 夜行 [TypeKey Profile Page] : 2004年10月26日 08:55

Tバックは余計なお世話かなとも思いましたが
数少ない?Postgreユーザ同士情報を共有するのも乙なものかなと思ってTバックしてしまいました

投稿者 gimo@糯 : 2004年10月26日 18:46

>gimo@糯さん
やっぱりMT@Pstgreユーザは少ないのですかね。
今後もバージョンアップのたびごとに問題に直面しそうな悪い予感もするので、そのときはよろしくお願いします。

投稿者 Sanzainin [TypeKey Profile Page] : 2004年10月28日 23:57

困っていた所にコメントいただき、ありがとうございました。
もう焦りまくって、新しい記事にまで目が行きませんでした。

MySQLの文法を良く理解せずにオロオロ仮運用していますが、このエントリーのpsqlコマンドを見て本当に安心しました。
もう明るくなりかけているので、明日落ち着いて実践してみます!

投稿者 Aizer : 2004年10月31日 04:43

コメントしてください




保存しますか?