Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Schemas are now part of the runtime, lazy-loaded and configured just
like all other components, and they are decoupled from relations now.
This drastically simplified handling
everything that may need access to schemas and further simplifications
are still possible.
This has a temporary breaking change because Relation.dataset receives
a schema now, instead of a relation class. I will restore original
behavior in rom/compat later on in a PR that will improve handling of
the default dataset (this is part of 6.0.0 feature scope).
Apart from lazy-loading, there's another big benefit of this refactor -
relation classes no longer hold their schemas as class variables. This
means that the same relation class can be re-used in the same process in
different configurations. It also means that standard inheritance will
be finally possible.