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" - "--resolver lts-11"
- "--stack-yaml stack-persistent-211.yaml" - "--stack-yaml stack-persistent-211.yaml"
- "--stack-yaml stack-persistent-212.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 # Bugs in GHC make it crash too often to be worth running
exclude: exclude:
- os: windows-latest - os: windows-latest

1
.gitignore vendored
View File

@ -25,3 +25,4 @@ tarballs/
# OS X # OS X
.DS_Store .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 # 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 ## 1.6.0.6
* Add support for persistent 2.12 * Add support for persistent 2.12

View File

@ -25,6 +25,7 @@ module Yesod.Persist.Core
import Database.Persist import Database.Persist
import Control.Monad.Trans.Reader (ReaderT, runReaderT) import Control.Monad.Trans.Reader (ReaderT, runReaderT)
import Data.Foldable (toList)
import Yesod.Core import Yesod.Core
import Data.Conduit import Data.Conduit
import Blaze.ByteString.Builder (Builder) import Blaze.ByteString.Builder (Builder)
@ -33,6 +34,9 @@ import Control.Monad.Trans.Resource
import Control.Exception (throwIO) import Control.Exception (throwIO)
import Yesod.Core.Types (HandlerContents (HCError)) import Yesod.Core.Types (HandlerContents (HCError))
import qualified Database.Persist.Sql as SQL 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 :: a -> a
unSqlPersistT = id unSqlPersistT = id
@ -197,7 +201,11 @@ insert400 datum = do
case conflict of case conflict of
Just unique -> Just unique ->
#if MIN_VERSION_persistent(2, 12, 0) #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 #else
badRequest' $ map (unHaskellName . fst) $ persistUniqueToFieldNames unique badRequest' $ map (unHaskellName . fst) $ persistUniqueToFieldNames unique
#endif #endif

View File

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