我在开发中使用SQLite3,部署时使用PostgreSQL。然而,我遇到了以下问题:
我的简单搜索使用SQLite3
:
def self.search(search)
if search
find(:all, :conditions => ["style LIKE ? OR construction LIKE ?", "%#{search}%", "%#{search}%"])
else
find(:all)
end
end
但是,它不能用于PostgreSQL
,我需要将LIKE
替换为ILIKE
来解决这个问题:
def self.search(search)
if search
find(:all, :conditions => ["style ILIKE ? OR construction ILIKE ?", "%#{search}%", "%#{search}%"])
else
find(:all)
end
end
有没有“Ruby方式”可以跨任意数据库执行这些搜索?
编辑 - 根据你们的回答,我不认为我会找到通用的Ruby解决方案。
我遵循了Michael Hartl撰写的Ruby on Rails教程:通过示例学习Rails,其中最终的Gemfile显示了两个数据库... 嗯,令人失望...