Я хочу иметь возможность протестировать поведение компонента планировщика в разных часовых поясах. Однако функциональность для запуска запланированного поведения использует запросы на основе времени в postgres:
e.g.
# find reminders which have not been sent for "today" in the local date
Schedule.where('evening_reminder_last_sent_on_local_date !=
DATE( NOW() AT TIME ZONE time_zone )')
Я хотел бы иметь возможность протестировать это поведение в RSpec и убедиться, что оно правильно воспроизводится в течение дня, и что если я отправлю японскому пользователю напоминание в 1:00 по всемирному координированному времени 25 декабря, то в 22:00 по всемирному координированному времени его напоминание на сегодня покажет up as не отправлено (поскольку в Японии около 7 утра следующего дня).
Однако для этого мне нужно установить дату и время в postgres. Это возможно?
Обратите внимание... речь не идет о сокращении времени Rails.
Задача не в том, чтобы остановить время в Rails — я знаю, как это сделать. Проблема в том, как установить время в Postgres.