Type-safe, data serialization. You must use a specific backend in order to make
this useful. For more information, see the chapter in the Yesod
book.
Changes
Changelog for persistent
2.10.1
Added constraint= attribute to allow users to specify foreign reference constraint names.
2.10.0
Added two type classes OnlyOneUniqueKey and AtLeastOneUniqueKey. These classes are used as constraints on functions that expect a certain amount of unique keys. They are defined automatically as part of the persistent-template’s generation. #885
Add the entityComments field to the EntityDef datatype, and fieldComments fields to the FieldDef datatype. The QuasiQuoter does not currently know how to add documentation comments to these types, but it can be expanded later. #865
Expose the SqlReadT and SqlWriteT constructors. #887
Remove deprecated Connection type synonym. Please use SqlBackend instead. #894
Remove deprecated SqlPersist type synonym. Please use SqlPersistT instead. #894
Alter the type of connUpsertSql to take a list of unique definitions. This paves the way for more efficient upsert implementations. #895
2.9.2
Add documentation for the Migration type and some helpers. #860
2.9.1
Fix #847: SQL error with putMany on Sqlite when Entity has no unique index.
2.9.0
Added support for SQL isolation levels to via SqlBackend. [#812]
Move Database.Persist.Sql.Raw.QQ to a separate persistent-qq package #827
Fix 832: repsertMany now matches mapM_ (uncurry repsert) and is atomic for supported sql back-ends.
2.8.2
Added support for sql= to the unique constraints quasi-quoter so that users can specify the database names of the constraints.
2.8.1
DRY-ed up and exposed several util functions in Database.Persist.Sql.Util.
Upstream-ed updatePersistValue, mkUpdateText, and commaSeparated from Database.Persist.MySQL.
De-duplicated updatePersistValue from various Database.Persist.Sql.Orphan.* modules.
Batching enhancements to reduce db round-trips.
Added getMany and repsertMany for batched get and repsert.
Added putMany with a default/slow implementation. SqlBackend’s that support native UPSERT should override this for batching enhancements.
Updated insertEntityMany to replace slow looped usage with batched execution.
Reapplies #723, which was reverted in version 2.7.3.
2.7.3.1
Improve error messages when failing to parse database results into Persistent records. #741
A handful of fromPersistField implementations called error instead of returning a Left Text. All of the implementations were changed to return Left. #741
Improve error message when a SQL insert fails with a custom primary key #757
2.7.3
Reverts #723, which generalized functions using the BackendCompatible class. These changes were an accidental breaking change.
Recommend the PersistDbSpecific docs if someone gets an error about converting from PersistDbSpecific
2.7.2 [DEPRECATED ON HACKAGE]
Many of the functions have been generalized using the BackendCompatible class. #723
This change was an accidental breaking change and was reverted in 2.7.3.
These change will be released in a future version of Persistent with a major version bump.