rails
日時をとで比較しようとしたときにエラーが発生しましたpostgresql
ここで、この単純なスキーマを使用してテーブルを作成しました。
def change
create_table :events do |t|
t.string :name
t.datetime :start_time
end
end
次に、このスコープを使用して将来のイベントを取得しようとします:
scope :active_events, ->(id) { includes(:event).where(:foursquare_id => id).where('events.start_time => now()::timestamp') }
それはpostgresqlで次のように変換されます:
SELECT COUNT(DISTINCT "venues"."id")
FROM "venues"
LEFT OUTER JOIN "events" ON "events"."venue_id" = "venues"."id"
WHERE "venues"."foursquare_id" = '4ada1e5ff964a5209f1e21e3'
AND (events.start_time => now()::timestamp)
今、次のエラーが表示されます:
PG::UndefinedFunction: ERROR: operator does not exist: timestamp without time zone => timestamp without time zone
LINE 1: ...'4ada1e5ff964a5209f1e21e3' AND (events.start_time => now()::...
そして、私は本当にこれを理解するかどうか確信が持てません. 通常、それらは同じデータ型であり、比較できると思いますが、そうではないようです。
ここで何が欠けていますか?