Currently the SqlBackend and *Def types are all completely exposed. Adding extra functionality to the persistent library requires a breaking change version bump.
We should make these types abstract from the general interface so that additions to the data types are not a breaking change, and we can add functionality in minor version bumps.
We can put them in a persistent-core package per "internal convention is a mistake" or we can do the Internal module. I don't have a strong preference here.
This is a pretty big change, so I anticipate it'll go in as 3.0. I'll find some other issues/enhancements to slot in there.
Currently the
SqlBackendand*Deftypes are all completely exposed. Adding extra functionality to thepersistentlibrary requires a breaking change version bump.We should make these types abstract from the general interface so that additions to the data types are not a breaking change, and we can add functionality in minor version bumps.
We can put them in a
persistent-corepackage per "internal convention is a mistake" or we can do theInternalmodule. I don't have a strong preference here.This is a pretty big change, so I anticipate it'll go in as 3.0. I'll find some other issues/enhancements to slot in there.