postgresql-typed
esqueleto
Our great sponsors
postgresql-typed | esqueleto | |
---|---|---|
2 | 3 | |
77 | 176 | |
- | 0.0% | |
0.0 | 0.0 | |
4 months ago | over 6 years ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgresql-typed
- Kysely: TypeScript SQL Query Builder
-
What databases do you find the most productive to connect to Haskell?
If you need Cassandra specifically, cql-io is pretty good. For a general purpose database I'd go with Postgres. There are many good choices in the Haskell ecosystem, but I really like postgres-typed. It lets you write plain SQL, checks you queries against a live database schema at compile time, and makes sure you use the results correctly as well. It's amazing, I never ran into type related errors and it's pretty seamless.
esqueleto
-
What databases do you find the most productive to connect to Haskell?
Postgresql-simple is a great library, it makes a nice use of overloaded strings to do the job. Some other nice libraries to keep an eye on are opaleye (postgres specific, which is equally nice but could be a bit difficult to get why the types are so big) and a combination of persistent (not DB specific! can work on postgres, sqlite, but also noSQL DBs like mongo, it's still easy to learn but you lose some things, such as joins due to the power of being agnostic) + esqueleto for type safe joins (be sure to look up the experimental package, it's a more comfortable syntax that will soon become the default one).
-
Go performance from version 1.2 to 1.18
In Haskell: https://hackage.haskell.org/package/esqueleto
Either it analyzes the given SQL to determine the in/out types of each SQL query, or it calls the database describe feature at compile-time.
What are some alternatives?
opaleye
yxdb-utils - Utilities for parsing Alteryx Database format
postgresql-transactional - Transactional monadic actions on top of PostgreSQL.
groundhog - This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction
hocilib - A lightweight Haskell binding to the OCILIB C API
beam - A type-safe, non-TH Haskell SQL library and ORM
mysql-simple - A mid-level client library for the MySQL database, intended to be fast and easy to use.
postgresql-tx - [Moved to: https://github.com/Simspace/postgresql-tx]
squeal-postgresql - Squeal, a deep embedding of SQL in Haskell
erd - Translates a plain text description of a relational database schema to a graphical entity-relationship diagram.
ampersand - Build database applications faster than anyone else, and keep your data pollution free as a bonus.
hasql - The fastest PostgreSQL libpq-based driver for Haskell