Skip to content

persistent-3.0.0Β #1037

@parsonsmatt

Description

@parsonsmatt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions