-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Proposal
Add an abstraction that can help the process of migrating from different PrefsSchema versions, similar to how SwiftData.
Considerations
This may involve adding a versioning system to the PrefsSchema protocol, or to a new VersionedPrefsSchema derivative protocol.
Most likely, SemVer may be utilized but the version semantics could be abstracted such that SemVer is provided as the default implementation but custom implementations could be used.
Providing a comparable version identifier to a prefs schema would allow some degree of automation:
- detecting prefs schema versions based on storage content by way of a version key/value pair
- allowing automated schema storage migration to newer schema version(s)
SwiftData employs a schema migration model. Its design may provide a springboard for PerfsKit's implementation.
Action Items
- Add abstraction type(s)
- Add unit tests
- Update REAMDE with example usage
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request