[MovableType]「自動保存」されたブログ記事のデータはどこに保存されているのか?

| カテゴリ:
前から謎だったのですが、今日ついに突き止めました。
MovableTypeで「自動保存」されたデータは、mt_sessionテーブルに保存されています。

具体的には、mt_session.session_kindが"AS"のレコードがそれにあたります。
「自動保存」データには、新規記事を編集しているときの自動保存データと既存記事を編集しているときの自動保存データがあるのですが、
mt_sesson上はちゃんと別レコードとして格納されています。

mt_session.session_idが、
"autosave:user=1:type=entry:id=0:blog_id=1"となっているものが、新規記事を編集するときのの自動保存データです。
"autosave:user=1:type=entry:id=435:blog_id=1"のようになっているものは、既存記事を編集しているときの自動保存データです。

既存記事の自動保存データはエントリごとにレコードが分けられているのですね。

さて、自動保存された新規記事を取得するには下記のようなSQLを書けばOKです。
select session_data from mt_session where session_kind = 'AS' AND session_id like 'autosave:%type=entry:id=0:blog_id=1%' 
しかし難しいのはここからで、実はsession_dataに格納されているのはシリアライズされた特殊なデータ構造なのです。
 SERG       ^BH   >   ^Radd_category_id_54-        -       
^Pauthored_on_time-  01:18:12   ^Radd_category_id_48-       ^Lcustom_prefs- 
  !title,text,tags,category,feedback
とまあこんな感じです。

せっかくSELECT文で取得できても、このままではWeb画面に表示できないのです。
何とかしてこれをアンシリアライズしてやらないといけません。

ここからがちょっと面倒くさいので、別記事でやり方を解説することにします。
参考
[MovableType]mt_sessionテーブルのデータを調べてみた

トラックバック(1)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/436

さて前回の記事「[MovableType]「自動保存」されたブログ記事のデータはどこに保存されているのか?」で、「自動保存」された記事のデータはmt_se... 続きを読む

コメントする

人気記事

このブログ記事について

最近の人気記事