diff --git a/esqueleto.cabal b/esqueleto.cabal index 2b0968b..bda81f3 100644 --- a/esqueleto.cabal +++ b/esqueleto.cabal @@ -55,7 +55,7 @@ library build-depends: base >= 4.5 && < 4.7 , text == 0.11.* - , persistent >= 1.0.1 && < 1.1 + , persistent == 1.1.* , transformers >= 0.2 , unordered-containers >= 0.2 @@ -79,8 +79,8 @@ test-suite test , HUnit , QuickCheck , hspec == 1.3.* - , persistent-sqlite == 1.0.* - , persistent-template == 1.0.* + , persistent-sqlite == 1.1.* + , persistent-template == 1.1.* , monad-control , monad-logger , fast-logger >= 0.2 && < 0.4 diff --git a/src/Database/Esqueleto.hs b/src/Database/Esqueleto.hs index 684e0cd..d429182 100644 --- a/src/Database/Esqueleto.hs +++ b/src/Database/Esqueleto.hs @@ -296,8 +296,10 @@ import qualified Database.Persist.Store -- | Synonym for 'Database.Persist.Store.delete' that does not -- clash with @esqueleto@'s 'delete'. -deleteKey :: (PersistStore backend m, PersistEntity val) - => Key backend val -> backend m () +deleteKey :: ( PersistStore m + , PersistMonadBackend m ~ PersistEntityBackend val + , PersistEntity val ) + => Key val -> m () deleteKey = Database.Persist.Store.delete -- $reexports diff --git a/src/Database/Esqueleto/Internal/Sql.hs b/src/Database/Esqueleto/Internal/Sql.hs index 97ccfd7..8d95e52 100644 --- a/src/Database/Esqueleto/Internal/Sql.hs +++ b/src/Database/Esqueleto/Internal/Sql.hs @@ -49,7 +49,7 @@ import Data.Monoid (Monoid(..), (<>)) import Database.Persist.EntityDef import Database.Persist.GenericSql import Database.Persist.GenericSql.Internal (Connection(escapeName, noLimit)) -import Database.Persist.GenericSql.Raw (withStmt, execute) +import Database.Persist.GenericSql.Raw (execute, SqlBackend, withStmt) import Database.Persist.Store hiding (delete) import qualified Control.Monad.Trans.Reader as R import qualified Control.Monad.Trans.State as S @@ -83,7 +83,7 @@ instance Applicative SqlQuery where -- | Constraint synonym for @persistent@ entities whose backend -- is 'SqlPersist'. -type SqlEntity ent = (PersistEntity ent, PersistEntityBackend ent ~ SqlPersist) +type SqlEntity ent = (PersistEntity ent, PersistEntityBackend ent ~ SqlBackend) ---------------------------------------------------------------------- @@ -242,7 +242,7 @@ parensM Parens = parens data OrderByType = ASC | DESC -instance Esqueleto SqlQuery SqlExpr SqlPersist where +instance Esqueleto SqlQuery SqlExpr SqlBackend where fromStart = x where x = do diff --git a/test/Test.hs b/test/Test.hs index 749a5d7..dfcb849 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -544,8 +544,11 @@ main = do ---------------------------------------------------------------------- -insert' :: (PersistEntity val, PersistStore (PersistEntityBackend val) m) - => val -> PersistEntityBackend val m (Entity val) +insert' :: ( Functor m + , PersistStore m + , PersistMonadBackend m ~ PersistEntityBackend val + , PersistEntity val ) + => val -> m (Entity val) insert' v = flip Entity v <$> insert v