Haskell有任何ORM工具吗?

时间:2020-03-06 14:27:34  来源:igfitidea点击:

使用Haskell与数据库进行交互的最佳方法是什么?我习惯于使用某种ORM(Django的ORM,休眠等),当使用HAppS创建应用程序时,类似的东西会很好。

编辑:我想自由地从Postgresql MySql和SQLite中选择实际的数据库。

解决方案

我们是否浏览过以下数据库的映射和访问程序包?
http://hackage.haskell.org/packages/archive/pkg-list.html#cat:数据库

我没有用过,所以不能推荐任何一种。我也不知道我们打算使用什么数据库。

我想到的库不是ORM,但它仍然可以满足要求。

如果我们希望在使事物很好地集成到程序中的同时使数据库访问安全,那么请尝试HaskellDB。它基本上会检查模式,生成一些数据结构,然后为我们提供安全的查询方式。它已经存在了很长一段时间,并且社区人士认为它很好且稳定。

要使用它,我们将需要一些基础的Haskell DB库,例如HSQL。

祝你好运!

实际上,我非常喜欢HAppS(HAppS-State)的方法,该方法使我们无需再经历ORM的编组/解组难题,而我们只需使用Haskell的数据类型。

ORM库存在的原因是,Cor Java中的对象与我们存储在数据库中的对象之间存在较大的差异。在Haskell中,这并不是什么大问题,因为:

  • 它没有对象
  • 数据库和Haskell列表都从数学集合论中获得灵感,因此它们之间的摩擦比与数据库和对象之间的摩擦要小得多。