Merge pull request #1724 from yesodweb/parsonsmatt-matt/support-persistent-2.13

Parsonsmatt matt/support persistent 2.13
This commit is contained in:
Michael Snoyman 2021-05-07 14:18:13 +03:00 committed by GitHub
commit 5d8566ad5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 39 additions and 2 deletions

View File

@ -22,6 +22,7 @@ jobs:
- "--resolver lts-11"
- "--stack-yaml stack-persistent-211.yaml"
- "--stack-yaml stack-persistent-212.yaml"
- "--stack-yaml stack-persistent-213.yaml"
# Bugs in GHC make it crash too often to be worth running
exclude:
- os: windows-latest

1
.gitignore vendored
View File

@ -25,3 +25,4 @@ tarballs/
# OS X
.DS_Store
*.yaml.lock

23
stack-persistent-213.yaml Normal file
View File

@ -0,0 +1,23 @@
resolver: nightly-2021-03-31
packages:
- ./yesod-core
- ./yesod-static
- ./yesod-persistent
- ./yesod-newsfeed
- ./yesod-form
- ./yesod-form-multi
- ./yesod-auth
- ./yesod-auth-oauth
- ./yesod-sitemap
- ./yesod-test
- ./yesod-bin
- ./yesod
- ./yesod-eventsource
- ./yesod-websockets
extra-deps:
- lift-type-0.1.0.1
- persistent-2.13.0.0
- persistent-mysql-2.13.0.0
- persistent-sqlite-2.13.0.0
- persistent-postgresql-2.13.0.0
- persistent-template-2.12.0.0

View File

@ -1,5 +1,9 @@
# ChangeLog for yesod-persistent
## 1.6.0.7
* Add support for persistent 2.13. [#1723](https://github.com/yesodweb/yesod/pull/1723)
## 1.6.0.6
* Add support for persistent 2.12

View File

@ -25,6 +25,7 @@ module Yesod.Persist.Core
import Database.Persist
import Control.Monad.Trans.Reader (ReaderT, runReaderT)
import Data.Foldable (toList)
import Yesod.Core
import Data.Conduit
import Blaze.ByteString.Builder (Builder)
@ -33,6 +34,9 @@ import Control.Monad.Trans.Resource
import Control.Exception (throwIO)
import Yesod.Core.Types (HandlerContents (HCError))
import qualified Database.Persist.Sql as SQL
#if MIN_VERSION_persistent(2,13,0)
import qualified Database.Persist.SqlBackend.Internal as SQL
#endif
unSqlPersistT :: a -> a
unSqlPersistT = id
@ -197,7 +201,11 @@ insert400 datum = do
case conflict of
Just unique ->
#if MIN_VERSION_persistent(2, 12, 0)
badRequest' $ map (unFieldNameHS . fst) $ persistUniqueToFieldNames unique
-- toList is called here because persistent-2.13 changed this
-- to a nonempty list. for versions of persistent prior to 2.13, toList
-- will be a no-op. for persistent-2.13, it'll convert the NonEmptyList to
-- a List.
badRequest' $ map (unFieldNameHS . fst) $ toList $ persistUniqueToFieldNames unique
#else
badRequest' $ map (unHaskellName . fst) $ persistUniqueToFieldNames unique
#endif

View File

@ -1,6 +1,6 @@
cabal-version: >= 1.10
name: yesod-persistent
version: 1.6.0.6
version: 1.6.0.7
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael@snoyman.com>