event_datetime 列と event_duration_minutes 列を含む既存の「イベント」テーブルがあります。2 つの列は、それぞれ日時と整数です。
最近、イベントの終了時にメールをトリガーする必要があることに気づきました。これを達成するために、最近完了したイベントを探して 10 分ごとに DB を一掃する定期的なジョブを作成しています。そこで、特定の時間枠内に終了したすべてのイベントを検索するクエリの作成を開始しましたが、各レコードの期間フィールドの可変性により、クエリを実行できませんでした。
end_time 列を追加し、自動的に start_time + duration に設定するのが最善の方法だと考えています。それは正しい方法ですか?
いずれにせよ、クエリの実行方法について完全な空白を描いています-これらのケースにアプローチする簡単な方法はありますか? または、そのようなクエリの一般的な必要性は、DB に何らかの作業が必要であることを示していますか?
編集 - これはpostgres 9.2にあります。Rails schema.rb のスキーマは次のようになります。
create_table "events", :force => true do |t|
t.string "title"
t.text "details"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "event_datetime"
t.integer "instructor_id"
t.integer "event_duration_minutes"
t.datetime "started_at_time"
end