我刚开始研究haskelldb
作为persistent
的更强大的伴侣,因为我需要一个更强大的工具来查询数据库。几乎立即我遇到了数据类型的困难;特别是,我正在使用Data.Text
,UTCTime
以及一些自定义数据类型。不幸的是,虽然HDBC似乎很好地支持这些数据类型,但是haskelldb隐藏了所有这些,你必须从String
输入开始编写自己的转换。
我不想复制已为HDBC所做的工作;在这种情况下你有什么建议?
我想我可能会在getHdbcValue
类中添加一个属性GetInstances
,这样我就可以编写简单的GetValue
实例来利用HDBC基础设施;有没有更好的想法?我错过了一些明显的东西吗?
(顺便说一下:在我看来,这个图书馆是 - 可能是出于历史原因 - 有点过于笼统;难道不能只支持hdbc ..?)
答案 0 :(得分:2)
我非常喜欢PostgreSQL及其丰富的类型集合,特别是数组。在Haskell之外的项目中,大多数使用的额外PG类型是[int4],典型的整数数组。将支持它带到HaskellDB成为我理解Haskell的最激动人心的挑战之一,尤其是类型级编程(以及TH / QQ)。只要HDBC支持,添加新类型以支持看起来很容易。
希望这个小补丁能够展示如何添加对新类型的支持。这是拉取请求,几乎所有需要的更改都在这里(剩下的就是FlexibleInstances):