Абстракция SQL-запроса на вычитание даты с помощью Rails - PullRequest
1 голос
/ 10 февраля 2010

Я использую следующее как часть метода поиска ActiveRecord:

:conditions => "created_at > date_sub(now(), INTERVAL 7 DAY)"

Это правильно работает на моем сервере разработки, где я использую MySQL, но я развертываю на postgreSQL, у которого нет функции date_sub. Игнорируя тот факт, что я использую две разные базы данных, есть ли в Rails что-то встроенное, чтобы абстрагировать эту операцию вычитания даты?

Если нет, то есть ли рекомендуемая конструкция в Rails для указания двух разных SQL-запросов, которые следует запускать в случае обнаружения разных БД?

1 Ответ

1 голос
/ 10 февраля 2010

Вы могли бы сделать

Object.find(:all, :conditions => ["created_at > ?", 7.days.ago])
#=> SELECT * FROM "objects" WHERE (created_at > '2010-02-03 12:06:19.352398') 

должно работать на разных БД

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...