rails:2031
From: "swallow@r..." <swallow@r...>
Date: Mon, 19 Feb 2007 21:14:24 +0900
Subject: [rails:2031] セッションレコードの削除について
こんにちは望月@テツオです。 御世話になります。railsのセッションの保存に関しての質問です。 今回sessionを、ファイルによる保存からDBに保存に、変更しようと思い 作業をしているのですが、レコード削除の処理がどうも上手く行きません。 セッションを保存するテーブルは以下のようになっております。 mysql> desc sessions; +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | | PRI | NULL | auto_increment | | session_id | varchar(255) | YES | MUL | NULL | | | data | mediumtext | YES | | NULL | | | updated_at | datetime | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+ セッションの保存時間をアプリケーションで1時間(3600秒)と決め、 それ以上の時間、更新されていないレコードは削除しようと思い、以下の SQLをクローンで定期的にまわしています。 delete from sessions where now() - updated_at > 3600; ところが、1時間たっていないレコードも削除されているようなので、 以下のSQLで確認をしてみました。 select now(), updated_at, now() - updated_at from sessions where now() - updated_at > 3600; 実行結果は以下のようになります。 +---------------------+---------------------+--------------------+ | now() | updated_at | now() - updated_at | +---------------------+---------------------+--------------------+ | 2007-02-19 21:08:26 | 2007-02-19 20:30:56 | 7770.000000 | | 2007-02-19 21:08:26 | 2007-02-19 20:41:15 | 6711.000000 | | 2007-02-19 21:08:26 | 2007-02-19 20:36:01 | 7225.000000 | | 2007-02-19 21:08:26 | 2007-02-19 20:57:58 | 5068.000000 | +---------------------+---------------------+--------------------+ これを見る限りですと、一時間以内のレコードもクエリー結果に 含まれているようですが、SQL文が間違っているのでしょうか? よろしくお願い致します。 -- ML: rails@r... 使い方: http://QuickML.com/
-> 2031 2007-02-19 13:14 [swallow@r... ] セッションレコードの削除について @ 2032 2007-02-19 15:04 ┗[sato1192two9low@y...] 2035 2007-02-20 17:38 ┗[swallow@r... ]