124 lines
3.5 KiB
YAML
124 lines
3.5 KiB
YAML
name: esqueleto
|
|
version: '2.6.0'
|
|
synopsis: Type-safe EDSL for SQL queries on persistent backends.
|
|
description: ! '@esqueleto@ is a bare bones, type-safe EDSL for SQL queries
|
|
that works with unmodified @persistent@ SQL backends. Its
|
|
language closely resembles SQL, so you don''t have to learn
|
|
new concepts, just new syntax, and it''s fairly easy to
|
|
predict the generated SQL and optimize it for your backend.
|
|
Most kinds of errors committed when writing SQL are caught as
|
|
compile-time errors---although it is possible to write
|
|
type-checked @esqueleto@ queries that fail at runtime.
|
|
|
|
|
|
@persistent@ is a library for type-safe data serialization. It
|
|
has many kinds of backends, such as SQL backends
|
|
(@persistent-mysql@, @persistent-postgresql@,
|
|
@persistent-sqlite@) and NoSQL backends (@persistent-mongoDB@).
|
|
While @persistent@ is a nice library for storing and retrieving
|
|
records, including with filters, it does not try to support
|
|
some of the features that are specific to SQL backends. In
|
|
particular, @esqueleto@ is the recommended library for
|
|
type-safe @JOIN@s on @persistent@ SQL backends. (The
|
|
alternative is using raw SQL, but that''s error prone and does
|
|
not offer any composability.)
|
|
|
|
|
|
Currently, @SELECT@s, @UPDATE@s, @INSERT@s and @DELETE@s are supported.
|
|
Not all SQL features are available, but most of them can be easily added
|
|
(especially functions), so please open an issue or send a pull request if
|
|
you need anything that is not covered by @esqueleto@ on
|
|
<https://github.com/bitemyapp/esqueleto>.
|
|
|
|
|
|
The name of this library means \"skeleton\" in Portuguese and
|
|
contains all three SQL letters in the correct order =). It was
|
|
inspired by Scala''s Squeryl but created from scratch.'
|
|
category: Database
|
|
author: Felipe Lessa
|
|
maintainer: cma@bitemyapp.com
|
|
copyright: (c) 2012-2016 Felipe Almeida Lessa
|
|
license: BSD3
|
|
homepage: https://github.com/bitemyapp/esqueleto
|
|
git: git://github.com/bitemyapp/esqueleto.git
|
|
|
|
dependencies:
|
|
- base >=4.8 && <5.0
|
|
- blaze-html
|
|
- bytestring
|
|
- conduit >=1.3
|
|
- monad-logger
|
|
- persistent >=2.8.0 && <2.9
|
|
- resourcet >=1.2
|
|
- tagged >=0.2
|
|
- text >=0.11 && <1.3
|
|
- time >=1.5.0.1 && <=1.8.0.2
|
|
- transformers >=0.2
|
|
- unliftio
|
|
- unordered-containers >=0.2
|
|
|
|
library:
|
|
source-dirs: src/
|
|
exposed-modules:
|
|
- Database.Esqueleto
|
|
- Database.Esqueleto.Internal.Language
|
|
- Database.Esqueleto.Internal.Sql
|
|
- Database.Esqueleto.MySQL
|
|
- Database.Esqueleto.PostgreSQL
|
|
- Database.Esqueleto.SQLite
|
|
when:
|
|
- condition: impl(ghc >=8.0)
|
|
then:
|
|
ghc-options:
|
|
- -Wall
|
|
- -Wno-redundant-constraints
|
|
else:
|
|
ghc-options: -Wall
|
|
|
|
tests:
|
|
mysql:
|
|
main: 'MySQL/Test.hs'
|
|
source-dirs: test
|
|
ghc-options: -Wall
|
|
dependencies:
|
|
- containers
|
|
- esqueleto
|
|
- hspec
|
|
- mysql-simple
|
|
- mysql
|
|
- persistent-mysql
|
|
- persistent-template
|
|
other-modules:
|
|
- Common.Test
|
|
- Paths_esqueleto
|
|
|
|
sqlite:
|
|
main: SQLite/Test.hs
|
|
source-dirs: test
|
|
ghc-options: -Wall
|
|
dependencies:
|
|
- containers
|
|
- esqueleto
|
|
- hspec
|
|
- persistent-sqlite
|
|
- persistent-template
|
|
other-modules:
|
|
- Common.Test
|
|
- Paths_esqueleto
|
|
|
|
postgresql:
|
|
main: PostgreSQL/Test.hs
|
|
source-dirs: test
|
|
ghc-options: -Wall
|
|
dependencies:
|
|
- containers
|
|
- esqueleto
|
|
- hspec
|
|
- persistent-postgresql
|
|
- persistent-template
|
|
- postgresql-libpq
|
|
- postgresql-simple
|
|
other-modules:
|
|
- Common.Test
|
|
- Paths_esqueleto
|