随着Ruby的ActiveRecord的或续集,你可以逐步建立SQL查询,添加where或join或order条款,这取决于在运行时条件的查询.
这是一个简单的例子,取自ASCIIcasts:
def index
@articles = Article.order('name')
if params[:hidden]
@articles = @articles.where(:hidden =>(params[:hidden] == "1"))
end
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @articles }
end
end
Run Code Online (Sandbox Code Playgroud)
该示例显示了articles如果HTTP请求查询参数名为hiddenequals,WHERE子句如何附加到表上的基础SQL查询1.
我一直在Haskell中看HDBC和postgresql-simple.似乎postgresql-simple故意使得从动态连接的部分构建SQL查询变得困难,以防止SQL注入.HDBC似乎足够灵活,可以根据运行时的条件构建不同结构的SQL查询,但它似乎没有提供ActiveRecord或Sequel提供的抽象级别.
任何人都可以建议使用其中一个Haskell数据库模拟ActiveRecord的动态查询构建工具吗?
如果HDBC是要走的路,我很好.但是可以理解插图.
我想我正在寻找的是能够针对PostgreSQL后端动态组合查询.
你可能想要Persistent,你可能想要HaskellDB,你可能想要像Esqueleto这样的东西.
以下是对每个权衡的良好讨论:http: //blog.felipe.lessa.nom.br/?p = 68
| 归档时间: |
|
| 查看次数: |
3219 次 |
| 最近记录: |