我正在使用以下内容作为ActiveRecord查找方法的一部分:
:conditions => "created_at > date_sub(now(), INTERVAL 7 DAY)"
这在我正在使用MySQL的开发服务器上正常工作,但我正在部署到没有date_sub函数的postgreSQL。忽略了我使用两个不同数据库的事实,Rails是否内置了任何内容来抽象这个日期减法操作?
如果没有,Rails中是否有推荐的构造用于指定在遇到不同的DB时应该运行的两个不同的SQL查询?
答案 0 :(得分:1)
你可以做到
Object.find(:all, :conditions => ["created_at > ?", 7.days.ago])
#=> SELECT * FROM "objects" WHERE (created_at > '2010-02-03 12:06:19.352398')
应该适用于不同的dbs