Skip to content

Add PrefsSchema Migration Plan #2

@orchetect

Description

@orchetect

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 request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions