-
Notifications
You must be signed in to change notification settings - Fork 301
Description
This issue tracks features and bug fixes that will be released as part of persistent-3.0.0. I want to bump the major-major version number because I want to implement a Big Breaking Change:
The Desolation of Entity
There are many problems in persistent relating to the design of Entity:
data Entity record = Entity
{ entityKey :: Key record
, entityVal :: record
}This works very well in the common case of "I want a datatype record with an autogenerated surrogate Key record," but it doesn't handle composite primary keys or non-autogenerated primary keys particularly well. It also special cases the primary key, when really any number of columns could have database specified defaults.
#1035, #1016, #994, #992, #985, #973, #974,
The solution that I want to implement is detailed in #995. I'll open a new issue to focus on gutting Entity and further conversation can go there.
Moar Breaking Changes
Because this is a big change, I'd like to roll up as many other big changes as possible. If you have something you'd like to change or break about the library, now is a great time to mention it.
I want to roll up the functional/bug fix breaking changes and do persistent-2.11. After that, I'll start working onpersistent-3.0, which will be a bigger change.
The milestone 3.0 is in place for this update.