I'd like to have database agnostic code, however I have been unsuccessful writing conditions that work for both postgres and mysql for the following:
# postgres only conditions = ["curtain_at + CAST (CAST (duration AS VARCHAR) || ' SECOND' AS INTERVAL) >= ? AND curtain_at < ?", Time.now, Time.now + 2.hours]
# MySQL only conditions = ["curtain_at + INTERVAL duration SECOND >= ? and curtain_at < ?", Time.now, Time.now + 2.hours]
Concert.find(:all, :conditions => conditions)
Can anyone lend some SQL expertise?
As a last resort, how can I determine what the current database is so I can selectively set conditions?