persistent
のより強力なコンパイルとして、haskelldb
を調べ始めました。データベースを照会するにはより強力なツールが必要です。ほぼすぐに私はデータ型で問題に遭遇しました。特に、私はData.Text
かなり広く、UTCTime
もいくつかのカスタムデータ型を使用しています。残念ながら、HDBCはこれらのデータ型を非常にうまくサポートしているようですが、haskelldbはこれをすべて隠しており、String
から始まる独自のコンバージョンを作成する必要があります。実際にhaskelldbを使用したデータ型(テキスト、UTCTime)
私はすでにHDBCの作業を複製したくありません。この場合、あなたは何をするべきですか?
というクラスをGetInstances
クラスに追加して、単純なGetValue
というインスタンスを作成して、HDBCインフラストラクチャを活用できるようにすると思います。良いアイデアはありますか?私は明白な何かを欠いていますか
(ところで:このライブラリがあるように私には思える - 多分歴史的な理由から - 少し過剰一般化、それだけでHDBCをサポートしていませんでした..?)
は永続本当に限られますか?私はYesodの人々がすべてのためにそれを使用すると思うので、HaskellDBがそれをすることができないことが多くあるならば、私は驚くだろう。もちろん、HaskellDBは永続的なものよりも簡単な方法でいくつかのことを行うことができます。 – ehird
はい。 Persistentは実際にはデータベースに依存しないはずですが、haskelldbはSQLを中心としています。 Persistentは、DB関数、カスタム演算子、さらに少し複雑な結合をサポートしていません。私は永続的な責任を負いません、ほとんどのORMフレームワークはそのような機能をサポートしていませんが、DBにアクセスするほとんどの私のアプリケーションで私はそれらを必要とします。 – ondra
あなたはesqueletoを評価しましたか? –